      module mo_lu_factor
      use chem_mods, only: veclen
      private
      public :: lu_fac
      contains
      subroutine lu_fac01( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,1) = 1._r8 / lu(k,1)
         lu(k,2) = 1._r8 / lu(k,2)
         lu(k,3) = 1._r8 / lu(k,3)
         lu(k,4) = 1._r8 / lu(k,4)
         lu(k,5) = 1._r8 / lu(k,5)
         lu(k,6) = 1._r8 / lu(k,6)
         lu(k,7) = 1._r8 / lu(k,7)
         lu(k,8) = 1._r8 / lu(k,8)
         lu(k,9) = 1._r8 / lu(k,9)
         lu(k,10) = 1._r8 / lu(k,10)
         lu(k,11) = 1._r8 / lu(k,11)
         lu(k,12) = 1._r8 / lu(k,12)
         lu(k,13) = 1._r8 / lu(k,13)
         lu(k,14) = 1._r8 / lu(k,14)
         lu(k,15) = 1._r8 / lu(k,15)
         lu(k,16) = 1._r8 / lu(k,16)
         lu(k,17) = 1._r8 / lu(k,17)
         lu(k,18) = 1._r8 / lu(k,18)
         lu(k,19) = 1._r8 / lu(k,19)
         lu(k,20) = 1._r8 / lu(k,20)
         lu(k,21) = 1._r8 / lu(k,21)
         lu(k,22) = lu(k,22) * lu(k,21)
         lu(k,23) = lu(k,23) * lu(k,21)
         lu(k,449) = lu(k,449) - lu(k,22) * lu(k,434)
         lu(k,450) = lu(k,450) - lu(k,23) * lu(k,434)
         lu(k,24) = 1._r8 / lu(k,24)
         lu(k,25) = lu(k,25) * lu(k,24)
         lu(k,26) = lu(k,26) * lu(k,24)
         lu(k,48) = lu(k,48) - lu(k,25) * lu(k,47)
         lu(k,51) = lu(k,51) - lu(k,26) * lu(k,47)
         lu(k,742) = lu(k,742) - lu(k,25) * lu(k,740)
         lu(k,764) = lu(k,764) - lu(k,26) * lu(k,740)
         lu(k,27) = 1._r8 / lu(k,27)
         lu(k,28) = lu(k,28) * lu(k,27)
         lu(k,29) = lu(k,29) * lu(k,27)
         lu(k,530) = lu(k,530) - lu(k,28) * lu(k,527)
         lu(k,543) = lu(k,543) - lu(k,29) * lu(k,527)
         lu(k,640) = - lu(k,28) * lu(k,630)
         lu(k,658) = - lu(k,29) * lu(k,630)
         lu(k,30) = 1._r8 / lu(k,30)
         lu(k,31) = lu(k,31) * lu(k,30)
         lu(k,34) = lu(k,34) - lu(k,31) * lu(k,32)
         lu(k,499) = lu(k,499) - lu(k,31) * lu(k,462)
         lu(k,624) = lu(k,624) - lu(k,31) * lu(k,599)
         lu(k,683) = lu(k,683) - lu(k,31) * lu(k,667)
         lu(k,33) = 1._r8 / lu(k,33)
         lu(k,34) = lu(k,34) * lu(k,33)
         lu(k,499) = lu(k,499) - lu(k,34) * lu(k,463)
         lu(k,546) = lu(k,546) - lu(k,34) * lu(k,528)
         lu(k,624) = lu(k,624) - lu(k,34) * lu(k,600)
         lu(k,683) = lu(k,683) - lu(k,34) * lu(k,668)
         lu(k,35) = 1._r8 / lu(k,35)
         lu(k,36) = lu(k,36) * lu(k,35)
         lu(k,164) = lu(k,164) - lu(k,36) * lu(k,161)
         lu(k,266) = lu(k,266) - lu(k,36) * lu(k,260)
         lu(k,333) = lu(k,333) - lu(k,36) * lu(k,321)
         lu(k,421) = lu(k,421) - lu(k,36) * lu(k,409)
         lu(k,449) = lu(k,449) - lu(k,36) * lu(k,435)
         lu(k,37) = 1._r8 / lu(k,37)
         lu(k,38) = lu(k,38) * lu(k,37)
         lu(k,39) = lu(k,39) * lu(k,37)
         lu(k,40) = lu(k,40) * lu(k,37)
         lu(k,530) = lu(k,530) - lu(k,38) * lu(k,529)
         lu(k,539) = lu(k,539) - lu(k,39) * lu(k,529)
         lu(k,543) = lu(k,543) - lu(k,40) * lu(k,529)
         lu(k,640) = lu(k,640) - lu(k,38) * lu(k,631)
         lu(k,654) = lu(k,654) - lu(k,39) * lu(k,631)
         lu(k,658) = lu(k,658) - lu(k,40) * lu(k,631)
         lu(k,41) = 1._r8 / lu(k,41)
         lu(k,42) = lu(k,42) * lu(k,41)
         lu(k,43) = lu(k,43) * lu(k,41)
         lu(k,153) = lu(k,153) - lu(k,42) * lu(k,152)
         lu(k,155) = lu(k,155) - lu(k,43) * lu(k,152)
         lu(k,273) = lu(k,273) - lu(k,42) * lu(k,272)
         lu(k,275) = - lu(k,43) * lu(k,272)
         lu(k,553) = lu(k,553) - lu(k,42) * lu(k,552)
         lu(k,555) = lu(k,555) - lu(k,43) * lu(k,552)
         lu(k,743) = lu(k,743) - lu(k,42) * lu(k,741)
         lu(k,747) = lu(k,747) - lu(k,43) * lu(k,741)
         lu(k,44) = 1._r8 / lu(k,44)
         lu(k,45) = lu(k,45) * lu(k,44)
         lu(k,46) = lu(k,46) * lu(k,44)
         lu(k,145) = lu(k,145) - lu(k,45) * lu(k,143)
         lu(k,147) = - lu(k,46) * lu(k,143)
         lu(k,328) = - lu(k,45) * lu(k,322)
         lu(k,333) = lu(k,333) - lu(k,46) * lu(k,322)
         lu(k,444) = lu(k,444) - lu(k,45) * lu(k,436)
         lu(k,449) = lu(k,449) - lu(k,46) * lu(k,436)
         lu(k,581) = lu(k,581) - lu(k,45) * lu(k,573)
         lu(k,586) = lu(k,586) - lu(k,46) * lu(k,573)
         lu(k,48) = 1._r8 / lu(k,48)
         lu(k,49) = lu(k,49) * lu(k,48)
         lu(k,50) = lu(k,50) * lu(k,48)
         lu(k,51) = lu(k,51) * lu(k,48)
         lu(k,254) = lu(k,254) - lu(k,49) * lu(k,253)
         lu(k,257) = lu(k,257) - lu(k,50) * lu(k,253)
         lu(k,259) = - lu(k,51) * lu(k,253)
         lu(k,644) = lu(k,644) - lu(k,49) * lu(k,632)
         lu(k,656) = lu(k,656) - lu(k,50) * lu(k,632)
         lu(k,666) = lu(k,666) - lu(k,51) * lu(k,632)
         lu(k,744) = - lu(k,49) * lu(k,742)
         lu(k,754) = lu(k,754) - lu(k,50) * lu(k,742)
         lu(k,764) = lu(k,764) - lu(k,51) * lu(k,742)
      end do
      end subroutine lu_fac01
      subroutine lu_fac02( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,52) = 1._r8 / lu(k,52)
         lu(k,53) = lu(k,53) * lu(k,52)
         lu(k,54) = lu(k,54) * lu(k,52)
         lu(k,55) = lu(k,55) * lu(k,52)
         lu(k,56) = lu(k,56) * lu(k,52)
         lu(k,57) = lu(k,57) * lu(k,52)
         lu(k,364) = lu(k,364) - lu(k,53) * lu(k,360)
         lu(k,369) = lu(k,369) - lu(k,54) * lu(k,360)
         lu(k,373) = lu(k,373) - lu(k,55) * lu(k,360)
         lu(k,381) = lu(k,381) - lu(k,56) * lu(k,360)
         lu(k,382) = lu(k,382) - lu(k,57) * lu(k,360)
         lu(k,696) = lu(k,696) - lu(k,53) * lu(k,689)
         lu(k,702) = lu(k,702) - lu(k,54) * lu(k,689)
         lu(k,706) = lu(k,706) - lu(k,55) * lu(k,689)
         lu(k,714) = lu(k,714) - lu(k,56) * lu(k,689)
         lu(k,715) = lu(k,715) - lu(k,57) * lu(k,689)
         lu(k,58) = 1._r8 / lu(k,58)
         lu(k,59) = lu(k,59) * lu(k,58)
         lu(k,60) = lu(k,60) * lu(k,58)
         lu(k,61) = lu(k,61) * lu(k,58)
         lu(k,62) = lu(k,62) * lu(k,58)
         lu(k,63) = lu(k,63) * lu(k,58)
         lu(k,363) = lu(k,363) - lu(k,59) * lu(k,361)
         lu(k,364) = lu(k,364) - lu(k,60) * lu(k,361)
         lu(k,369) = lu(k,369) - lu(k,61) * lu(k,361)
         lu(k,370) = lu(k,370) - lu(k,62) * lu(k,361)
         lu(k,379) = lu(k,379) - lu(k,63) * lu(k,361)
         lu(k,644) = lu(k,644) - lu(k,59) * lu(k,633)
         lu(k,646) = lu(k,646) - lu(k,60) * lu(k,633)
         lu(k,652) = lu(k,652) - lu(k,61) * lu(k,633)
         lu(k,653) = lu(k,653) - lu(k,62) * lu(k,633)
         lu(k,662) = lu(k,662) - lu(k,63) * lu(k,633)
         lu(k,64) = 1._r8 / lu(k,64)
         lu(k,65) = lu(k,65) * lu(k,64)
         lu(k,66) = lu(k,66) * lu(k,64)
         lu(k,67) = lu(k,67) * lu(k,64)
         lu(k,68) = lu(k,68) * lu(k,64)
         lu(k,284) = lu(k,284) - lu(k,65) * lu(k,282)
         lu(k,285) = lu(k,285) - lu(k,66) * lu(k,282)
         lu(k,290) = lu(k,290) - lu(k,67) * lu(k,282)
         lu(k,291) = lu(k,291) - lu(k,68) * lu(k,282)
         lu(k,439) = lu(k,439) - lu(k,65) * lu(k,437)
         lu(k,442) = lu(k,442) - lu(k,66) * lu(k,437)
         lu(k,450) = lu(k,450) - lu(k,67) * lu(k,437)
         lu(k,451) = lu(k,451) - lu(k,68) * lu(k,437)
         lu(k,577) = lu(k,577) - lu(k,65) * lu(k,574)
         lu(k,579) = lu(k,579) - lu(k,66) * lu(k,574)
         lu(k,587) = lu(k,587) - lu(k,67) * lu(k,574)
         lu(k,588) = lu(k,588) - lu(k,68) * lu(k,574)
         lu(k,69) = 1._r8 / lu(k,69)
         lu(k,70) = lu(k,70) * lu(k,69)
         lu(k,71) = lu(k,71) * lu(k,69)
         lu(k,72) = lu(k,72) * lu(k,69)
         lu(k,73) = lu(k,73) * lu(k,69)
         lu(k,74) = lu(k,74) * lu(k,69)
         lu(k,75) = lu(k,75) * lu(k,69)
         lu(k,76) = lu(k,76) * lu(k,69)
         lu(k,467) = lu(k,467) - lu(k,70) * lu(k,464)
         lu(k,471) = - lu(k,71) * lu(k,464)
         lu(k,482) = - lu(k,72) * lu(k,464)
         lu(k,485) = lu(k,485) - lu(k,73) * lu(k,464)
         lu(k,486) = lu(k,486) - lu(k,74) * lu(k,464)
         lu(k,494) = lu(k,494) - lu(k,75) * lu(k,464)
         lu(k,500) = lu(k,500) - lu(k,76) * lu(k,464)
         lu(k,637) = lu(k,637) - lu(k,70) * lu(k,634)
         lu(k,639) = lu(k,639) - lu(k,71) * lu(k,634)
         lu(k,644) = lu(k,644) - lu(k,72) * lu(k,634)
         lu(k,647) = lu(k,647) - lu(k,73) * lu(k,634)
         lu(k,648) = lu(k,648) - lu(k,74) * lu(k,634)
         lu(k,656) = lu(k,656) - lu(k,75) * lu(k,634)
         lu(k,662) = lu(k,662) - lu(k,76) * lu(k,634)
         lu(k,77) = 1._r8 / lu(k,77)
         lu(k,78) = lu(k,78) * lu(k,77)
         lu(k,79) = lu(k,79) * lu(k,77)
         lu(k,80) = lu(k,80) * lu(k,77)
         lu(k,81) = lu(k,81) * lu(k,77)
         lu(k,82) = lu(k,82) * lu(k,77)
         lu(k,346) = - lu(k,78) * lu(k,345)
         lu(k,347) = lu(k,347) - lu(k,79) * lu(k,345)
         lu(k,352) = lu(k,352) - lu(k,80) * lu(k,345)
         lu(k,355) = - lu(k,81) * lu(k,345)
         lu(k,359) = - lu(k,82) * lu(k,345)
         lu(k,390) = lu(k,390) - lu(k,78) * lu(k,384)
         lu(k,393) = lu(k,393) - lu(k,79) * lu(k,384)
         lu(k,399) = - lu(k,80) * lu(k,384)
         lu(k,404) = lu(k,404) - lu(k,81) * lu(k,384)
         lu(k,408) = lu(k,408) - lu(k,82) * lu(k,384)
         lu(k,648) = lu(k,648) - lu(k,78) * lu(k,635)
         lu(k,651) = lu(k,651) - lu(k,79) * lu(k,635)
         lu(k,657) = lu(k,657) - lu(k,80) * lu(k,635)
         lu(k,662) = lu(k,662) - lu(k,81) * lu(k,635)
         lu(k,666) = lu(k,666) - lu(k,82) * lu(k,635)
         lu(k,83) = 1._r8 / lu(k,83)
         lu(k,84) = lu(k,84) * lu(k,83)
         lu(k,85) = lu(k,85) * lu(k,83)
         lu(k,86) = lu(k,86) * lu(k,83)
         lu(k,87) = lu(k,87) * lu(k,83)
         lu(k,88) = lu(k,88) * lu(k,83)
         lu(k,89) = lu(k,89) * lu(k,83)
         lu(k,394) = lu(k,394) - lu(k,84) * lu(k,385)
         lu(k,395) = lu(k,395) - lu(k,85) * lu(k,385)
         lu(k,403) = lu(k,403) - lu(k,86) * lu(k,385)
         lu(k,404) = lu(k,404) - lu(k,87) * lu(k,385)
         lu(k,406) = lu(k,406) - lu(k,88) * lu(k,385)
         lu(k,408) = lu(k,408) - lu(k,89) * lu(k,385)
         lu(k,652) = lu(k,652) - lu(k,84) * lu(k,636)
         lu(k,653) = lu(k,653) - lu(k,85) * lu(k,636)
         lu(k,661) = lu(k,661) - lu(k,86) * lu(k,636)
         lu(k,662) = lu(k,662) - lu(k,87) * lu(k,636)
         lu(k,664) = lu(k,664) - lu(k,88) * lu(k,636)
         lu(k,666) = lu(k,666) - lu(k,89) * lu(k,636)
         lu(k,702) = lu(k,702) - lu(k,84) * lu(k,690)
         lu(k,703) = lu(k,703) - lu(k,85) * lu(k,690)
         lu(k,711) = lu(k,711) - lu(k,86) * lu(k,690)
         lu(k,712) = lu(k,712) - lu(k,87) * lu(k,690)
         lu(k,714) = lu(k,714) - lu(k,88) * lu(k,690)
         lu(k,716) = - lu(k,89) * lu(k,690)
         lu(k,90) = 1._r8 / lu(k,90)
         lu(k,91) = lu(k,91) * lu(k,90)
         lu(k,92) = lu(k,92) * lu(k,90)
         lu(k,93) = lu(k,93) * lu(k,90)
         lu(k,94) = lu(k,94) * lu(k,90)
         lu(k,95) = lu(k,95) * lu(k,90)
         lu(k,96) = lu(k,96) * lu(k,90)
         lu(k,209) = lu(k,209) - lu(k,91) * lu(k,208)
         lu(k,210) = lu(k,210) - lu(k,92) * lu(k,208)
         lu(k,212) = - lu(k,93) * lu(k,208)
         lu(k,213) = lu(k,213) - lu(k,94) * lu(k,208)
         lu(k,220) = lu(k,220) - lu(k,95) * lu(k,208)
         lu(k,224) = - lu(k,96) * lu(k,208)
         lu(k,466) = lu(k,466) - lu(k,91) * lu(k,465)
         lu(k,470) = lu(k,470) - lu(k,92) * lu(k,465)
         lu(k,475) = lu(k,475) - lu(k,93) * lu(k,465)
         lu(k,477) = lu(k,477) - lu(k,94) * lu(k,465)
         lu(k,494) = lu(k,494) - lu(k,95) * lu(k,465)
         lu(k,503) = lu(k,503) - lu(k,96) * lu(k,465)
         lu(k,602) = lu(k,602) - lu(k,91) * lu(k,601)
         lu(k,603) = lu(k,603) - lu(k,92) * lu(k,601)
         lu(k,606) = lu(k,606) - lu(k,93) * lu(k,601)
         lu(k,607) = lu(k,607) - lu(k,94) * lu(k,601)
         lu(k,619) = lu(k,619) - lu(k,95) * lu(k,601)
         lu(k,628) = lu(k,628) - lu(k,96) * lu(k,601)
      end do
      end subroutine lu_fac02
      subroutine lu_fac03( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,97) = 1._r8 / lu(k,97)
         lu(k,98) = lu(k,98) * lu(k,97)
         lu(k,99) = lu(k,99) * lu(k,97)
         lu(k,100) = lu(k,100) * lu(k,97)
         lu(k,101) = lu(k,101) * lu(k,97)
         lu(k,102) = lu(k,102) * lu(k,97)
         lu(k,210) = lu(k,210) - lu(k,98) * lu(k,209)
         lu(k,213) = lu(k,213) - lu(k,99) * lu(k,209)
         lu(k,214) = lu(k,214) - lu(k,100) * lu(k,209)
         lu(k,220) = lu(k,220) - lu(k,101) * lu(k,209)
         lu(k,222) = - lu(k,102) * lu(k,209)
         lu(k,470) = lu(k,470) - lu(k,98) * lu(k,466)
         lu(k,477) = lu(k,477) - lu(k,99) * lu(k,466)
         lu(k,478) = - lu(k,100) * lu(k,466)
         lu(k,494) = lu(k,494) - lu(k,101) * lu(k,466)
         lu(k,499) = lu(k,499) - lu(k,102) * lu(k,466)
         lu(k,603) = lu(k,603) - lu(k,98) * lu(k,602)
         lu(k,607) = lu(k,607) - lu(k,99) * lu(k,602)
         lu(k,608) = lu(k,608) - lu(k,100) * lu(k,602)
         lu(k,619) = lu(k,619) - lu(k,101) * lu(k,602)
         lu(k,624) = lu(k,624) - lu(k,102) * lu(k,602)
         lu(k,103) = 1._r8 / lu(k,103)
         lu(k,104) = lu(k,104) * lu(k,103)
         lu(k,105) = lu(k,105) * lu(k,103)
         lu(k,106) = lu(k,106) * lu(k,103)
         lu(k,194) = - lu(k,104) * lu(k,186)
         lu(k,195) = - lu(k,105) * lu(k,186)
         lu(k,198) = - lu(k,106) * lu(k,186)
         lu(k,309) = - lu(k,104) * lu(k,307)
         lu(k,311) = lu(k,311) - lu(k,105) * lu(k,307)
         lu(k,318) = - lu(k,106) * lu(k,307)
         lu(k,366) = - lu(k,104) * lu(k,362)
         lu(k,370) = lu(k,370) - lu(k,105) * lu(k,362)
         lu(k,379) = lu(k,379) - lu(k,106) * lu(k,362)
         lu(k,415) = lu(k,415) - lu(k,104) * lu(k,410)
         lu(k,420) = lu(k,420) - lu(k,105) * lu(k,410)
         lu(k,429) = lu(k,429) - lu(k,106) * lu(k,410)
         lu(k,486) = lu(k,486) - lu(k,104) * lu(k,467)
         lu(k,491) = lu(k,491) - lu(k,105) * lu(k,467)
         lu(k,500) = lu(k,500) - lu(k,106) * lu(k,467)
         lu(k,508) = lu(k,508) - lu(k,104) * lu(k,505)
         lu(k,513) = lu(k,513) - lu(k,105) * lu(k,505)
         lu(k,522) = lu(k,522) - lu(k,106) * lu(k,505)
         lu(k,648) = lu(k,648) - lu(k,104) * lu(k,637)
         lu(k,653) = lu(k,653) - lu(k,105) * lu(k,637)
         lu(k,662) = lu(k,662) - lu(k,106) * lu(k,637)
         lu(k,107) = 1._r8 / lu(k,107)
         lu(k,108) = lu(k,108) * lu(k,107)
         lu(k,109) = lu(k,109) * lu(k,107)
         lu(k,110) = lu(k,110) * lu(k,107)
         lu(k,111) = lu(k,111) * lu(k,107)
         lu(k,112) = lu(k,112) * lu(k,107)
         lu(k,113) = lu(k,113) * lu(k,107)
         lu(k,114) = lu(k,114) * lu(k,107)
         lu(k,473) = lu(k,473) - lu(k,108) * lu(k,468)
         lu(k,484) = - lu(k,109) * lu(k,468)
         lu(k,487) = lu(k,487) - lu(k,110) * lu(k,468)
         lu(k,490) = lu(k,490) - lu(k,111) * lu(k,468)
         lu(k,494) = lu(k,494) - lu(k,112) * lu(k,468)
         lu(k,498) = lu(k,498) - lu(k,113) * lu(k,468)
         lu(k,502) = lu(k,502) - lu(k,114) * lu(k,468)
         lu(k,576) = lu(k,576) - lu(k,108) * lu(k,575)
         lu(k,578) = - lu(k,109) * lu(k,575)
         lu(k,581) = lu(k,581) - lu(k,110) * lu(k,575)
         lu(k,584) = - lu(k,111) * lu(k,575)
         lu(k,588) = lu(k,588) - lu(k,112) * lu(k,575)
         lu(k,592) = lu(k,592) - lu(k,113) * lu(k,575)
         lu(k,596) = lu(k,596) - lu(k,114) * lu(k,575)
         lu(k,692) = - lu(k,108) * lu(k,691)
         lu(k,696) = lu(k,696) - lu(k,109) * lu(k,691)
         lu(k,699) = - lu(k,110) * lu(k,691)
         lu(k,702) = lu(k,702) - lu(k,111) * lu(k,691)
         lu(k,706) = lu(k,706) - lu(k,112) * lu(k,691)
         lu(k,710) = lu(k,710) - lu(k,113) * lu(k,691)
         lu(k,714) = lu(k,714) - lu(k,114) * lu(k,691)
         lu(k,115) = 1._r8 / lu(k,115)
         lu(k,116) = lu(k,116) * lu(k,115)
         lu(k,117) = lu(k,117) * lu(k,115)
         lu(k,118) = lu(k,118) * lu(k,115)
         lu(k,119) = lu(k,119) * lu(k,115)
         lu(k,120) = lu(k,120) * lu(k,115)
         lu(k,121) = lu(k,121) * lu(k,115)
         lu(k,392) = lu(k,392) - lu(k,116) * lu(k,386)
         lu(k,395) = lu(k,395) - lu(k,117) * lu(k,386)
         lu(k,396) = lu(k,396) - lu(k,118) * lu(k,386)
         lu(k,398) = lu(k,398) - lu(k,119) * lu(k,386)
         lu(k,404) = lu(k,404) - lu(k,120) * lu(k,386)
         lu(k,408) = lu(k,408) - lu(k,121) * lu(k,386)
         lu(k,417) = lu(k,417) - lu(k,116) * lu(k,411)
         lu(k,420) = lu(k,420) - lu(k,117) * lu(k,411)
         lu(k,421) = lu(k,421) - lu(k,118) * lu(k,411)
         lu(k,423) = - lu(k,119) * lu(k,411)
         lu(k,429) = lu(k,429) - lu(k,120) * lu(k,411)
         lu(k,433) = - lu(k,121) * lu(k,411)
         lu(k,488) = lu(k,488) - lu(k,116) * lu(k,469)
         lu(k,491) = lu(k,491) - lu(k,117) * lu(k,469)
         lu(k,492) = lu(k,492) - lu(k,118) * lu(k,469)
         lu(k,494) = lu(k,494) - lu(k,119) * lu(k,469)
         lu(k,500) = lu(k,500) - lu(k,120) * lu(k,469)
         lu(k,504) = - lu(k,121) * lu(k,469)
         lu(k,650) = lu(k,650) - lu(k,116) * lu(k,638)
         lu(k,653) = lu(k,653) - lu(k,117) * lu(k,638)
         lu(k,654) = lu(k,654) - lu(k,118) * lu(k,638)
         lu(k,656) = lu(k,656) - lu(k,119) * lu(k,638)
         lu(k,662) = lu(k,662) - lu(k,120) * lu(k,638)
         lu(k,666) = lu(k,666) - lu(k,121) * lu(k,638)
         lu(k,122) = 1._r8 / lu(k,122)
         lu(k,123) = lu(k,123) * lu(k,122)
         lu(k,124) = lu(k,124) * lu(k,122)
         lu(k,125) = lu(k,125) * lu(k,122)
         lu(k,126) = lu(k,126) * lu(k,122)
         lu(k,127) = lu(k,127) * lu(k,122)
         lu(k,128) = lu(k,128) * lu(k,122)
         lu(k,129) = lu(k,129) * lu(k,122)
         lu(k,130) = lu(k,130) * lu(k,122)
         lu(k,211) = lu(k,211) - lu(k,123) * lu(k,210)
         lu(k,213) = lu(k,213) - lu(k,124) * lu(k,210)
         lu(k,214) = lu(k,214) - lu(k,125) * lu(k,210)
         lu(k,215) = lu(k,215) - lu(k,126) * lu(k,210)
         lu(k,216) = lu(k,216) - lu(k,127) * lu(k,210)
         lu(k,217) = lu(k,217) - lu(k,128) * lu(k,210)
         lu(k,220) = lu(k,220) - lu(k,129) * lu(k,210)
         lu(k,222) = lu(k,222) - lu(k,130) * lu(k,210)
         lu(k,472) = lu(k,472) - lu(k,123) * lu(k,470)
         lu(k,477) = lu(k,477) - lu(k,124) * lu(k,470)
         lu(k,478) = lu(k,478) - lu(k,125) * lu(k,470)
         lu(k,479) = lu(k,479) - lu(k,126) * lu(k,470)
         lu(k,480) = lu(k,480) - lu(k,127) * lu(k,470)
         lu(k,481) = lu(k,481) - lu(k,128) * lu(k,470)
         lu(k,494) = lu(k,494) - lu(k,129) * lu(k,470)
         lu(k,499) = lu(k,499) - lu(k,130) * lu(k,470)
         lu(k,605) = lu(k,605) - lu(k,123) * lu(k,603)
         lu(k,607) = lu(k,607) - lu(k,124) * lu(k,603)
         lu(k,608) = lu(k,608) - lu(k,125) * lu(k,603)
         lu(k,609) = lu(k,609) - lu(k,126) * lu(k,603)
         lu(k,610) = lu(k,610) - lu(k,127) * lu(k,603)
         lu(k,611) = lu(k,611) - lu(k,128) * lu(k,603)
         lu(k,619) = lu(k,619) - lu(k,129) * lu(k,603)
         lu(k,624) = lu(k,624) - lu(k,130) * lu(k,603)
         lu(k,131) = 1._r8 / lu(k,131)
         lu(k,132) = lu(k,132) * lu(k,131)
         lu(k,133) = lu(k,133) * lu(k,131)
         lu(k,134) = lu(k,134) * lu(k,131)
         lu(k,135) = lu(k,135) * lu(k,131)
         lu(k,136) = lu(k,136) * lu(k,131)
         lu(k,137) = lu(k,137) * lu(k,131)
         lu(k,285) = lu(k,285) - lu(k,132) * lu(k,283)
         lu(k,286) = lu(k,286) - lu(k,133) * lu(k,283)
         lu(k,291) = lu(k,291) - lu(k,134) * lu(k,283)
         lu(k,293) = lu(k,293) - lu(k,135) * lu(k,283)
         lu(k,294) = lu(k,294) - lu(k,136) * lu(k,283)
         lu(k,295) = lu(k,295) - lu(k,137) * lu(k,283)
         lu(k,485) = lu(k,485) - lu(k,132) * lu(k,471)
         lu(k,486) = lu(k,486) - lu(k,133) * lu(k,471)
         lu(k,494) = lu(k,494) - lu(k,134) * lu(k,471)
         lu(k,499) = lu(k,499) - lu(k,135) * lu(k,471)
         lu(k,500) = lu(k,500) - lu(k,136) * lu(k,471)
         lu(k,501) = lu(k,501) - lu(k,137) * lu(k,471)
         lu(k,613) = lu(k,613) - lu(k,132) * lu(k,604)
         lu(k,614) = lu(k,614) - lu(k,133) * lu(k,604)
         lu(k,619) = lu(k,619) - lu(k,134) * lu(k,604)
         lu(k,624) = lu(k,624) - lu(k,135) * lu(k,604)
         lu(k,625) = - lu(k,136) * lu(k,604)
         lu(k,626) = lu(k,626) - lu(k,137) * lu(k,604)
         lu(k,647) = lu(k,647) - lu(k,132) * lu(k,639)
         lu(k,648) = lu(k,648) - lu(k,133) * lu(k,639)
         lu(k,656) = lu(k,656) - lu(k,134) * lu(k,639)
         lu(k,661) = lu(k,661) - lu(k,135) * lu(k,639)
         lu(k,662) = lu(k,662) - lu(k,136) * lu(k,639)
         lu(k,663) = lu(k,663) - lu(k,137) * lu(k,639)
         lu(k,671) = lu(k,671) - lu(k,132) * lu(k,669)
         lu(k,672) = lu(k,672) - lu(k,133) * lu(k,669)
         lu(k,678) = lu(k,678) - lu(k,134) * lu(k,669)
         lu(k,683) = lu(k,683) - lu(k,135) * lu(k,669)
         lu(k,684) = lu(k,684) - lu(k,136) * lu(k,669)
         lu(k,685) = lu(k,685) - lu(k,137) * lu(k,669)
      end do
      end subroutine lu_fac03
      subroutine lu_fac04( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,138) = 1._r8 / lu(k,138)
         lu(k,139) = lu(k,139) * lu(k,138)
         lu(k,140) = lu(k,140) * lu(k,138)
         lu(k,141) = lu(k,141) * lu(k,138)
         lu(k,142) = lu(k,142) * lu(k,138)
         lu(k,173) = - lu(k,139) * lu(k,169)
         lu(k,174) = - lu(k,140) * lu(k,169)
         lu(k,175) = lu(k,175) - lu(k,141) * lu(k,169)
         lu(k,176) = lu(k,176) - lu(k,142) * lu(k,169)
         lu(k,191) = - lu(k,139) * lu(k,187)
         lu(k,192) = lu(k,192) - lu(k,140) * lu(k,187)
         lu(k,193) = lu(k,193) - lu(k,141) * lu(k,187)
         lu(k,196) = lu(k,196) - lu(k,142) * lu(k,187)
         lu(k,201) = lu(k,201) - lu(k,139) * lu(k,199)
         lu(k,202) = - lu(k,140) * lu(k,199)
         lu(k,203) = lu(k,203) - lu(k,141) * lu(k,199)
         lu(k,204) = lu(k,204) - lu(k,142) * lu(k,199)
         lu(k,215) = lu(k,215) - lu(k,139) * lu(k,211)
         lu(k,216) = lu(k,216) - lu(k,140) * lu(k,211)
         lu(k,217) = lu(k,217) - lu(k,141) * lu(k,211)
         lu(k,220) = lu(k,220) - lu(k,142) * lu(k,211)
         lu(k,242) = lu(k,242) - lu(k,139) * lu(k,238)
         lu(k,243) = - lu(k,140) * lu(k,238)
         lu(k,244) = lu(k,244) - lu(k,141) * lu(k,238)
         lu(k,247) = lu(k,247) - lu(k,142) * lu(k,238)
         lu(k,479) = lu(k,479) - lu(k,139) * lu(k,472)
         lu(k,480) = lu(k,480) - lu(k,140) * lu(k,472)
         lu(k,481) = lu(k,481) - lu(k,141) * lu(k,472)
         lu(k,494) = lu(k,494) - lu(k,142) * lu(k,472)
         lu(k,609) = lu(k,609) - lu(k,139) * lu(k,605)
         lu(k,610) = lu(k,610) - lu(k,140) * lu(k,605)
         lu(k,611) = lu(k,611) - lu(k,141) * lu(k,605)
         lu(k,619) = lu(k,619) - lu(k,142) * lu(k,605)
         lu(k,719) = lu(k,719) - lu(k,139) * lu(k,717)
         lu(k,720) = - lu(k,140) * lu(k,717)
         lu(k,721) = lu(k,721) - lu(k,141) * lu(k,717)
         lu(k,729) = lu(k,729) - lu(k,142) * lu(k,717)
         lu(k,144) = 1._r8 / lu(k,144)
         lu(k,145) = lu(k,145) * lu(k,144)
         lu(k,146) = lu(k,146) * lu(k,144)
         lu(k,147) = lu(k,147) * lu(k,144)
         lu(k,148) = lu(k,148) * lu(k,144)
         lu(k,149) = lu(k,149) * lu(k,144)
         lu(k,150) = lu(k,150) * lu(k,144)
         lu(k,151) = lu(k,151) * lu(k,144)
         lu(k,328) = lu(k,328) - lu(k,145) * lu(k,323)
         lu(k,329) = lu(k,329) - lu(k,146) * lu(k,323)
         lu(k,333) = lu(k,333) - lu(k,147) * lu(k,323)
         lu(k,335) = lu(k,335) - lu(k,148) * lu(k,323)
         lu(k,339) = - lu(k,149) * lu(k,323)
         lu(k,341) = lu(k,341) - lu(k,150) * lu(k,323)
         lu(k,344) = lu(k,344) - lu(k,151) * lu(k,323)
         lu(k,391) = lu(k,391) - lu(k,145) * lu(k,387)
         lu(k,392) = lu(k,392) - lu(k,146) * lu(k,387)
         lu(k,396) = lu(k,396) - lu(k,147) * lu(k,387)
         lu(k,398) = lu(k,398) - lu(k,148) * lu(k,387)
         lu(k,402) = lu(k,402) - lu(k,149) * lu(k,387)
         lu(k,404) = lu(k,404) - lu(k,150) * lu(k,387)
         lu(k,408) = lu(k,408) - lu(k,151) * lu(k,387)
         lu(k,487) = lu(k,487) - lu(k,145) * lu(k,473)
         lu(k,488) = lu(k,488) - lu(k,146) * lu(k,473)
         lu(k,492) = lu(k,492) - lu(k,147) * lu(k,473)
         lu(k,494) = lu(k,494) - lu(k,148) * lu(k,473)
         lu(k,498) = lu(k,498) - lu(k,149) * lu(k,473)
         lu(k,500) = lu(k,500) - lu(k,150) * lu(k,473)
         lu(k,504) = lu(k,504) - lu(k,151) * lu(k,473)
         lu(k,581) = lu(k,581) - lu(k,145) * lu(k,576)
         lu(k,582) = - lu(k,146) * lu(k,576)
         lu(k,586) = lu(k,586) - lu(k,147) * lu(k,576)
         lu(k,588) = lu(k,588) - lu(k,148) * lu(k,576)
         lu(k,592) = lu(k,592) - lu(k,149) * lu(k,576)
         lu(k,594) = lu(k,594) - lu(k,150) * lu(k,576)
         lu(k,598) = - lu(k,151) * lu(k,576)
         lu(k,699) = lu(k,699) - lu(k,145) * lu(k,692)
         lu(k,700) = - lu(k,146) * lu(k,692)
         lu(k,704) = - lu(k,147) * lu(k,692)
         lu(k,706) = lu(k,706) - lu(k,148) * lu(k,692)
         lu(k,710) = lu(k,710) - lu(k,149) * lu(k,692)
         lu(k,712) = lu(k,712) - lu(k,150) * lu(k,692)
         lu(k,716) = lu(k,716) - lu(k,151) * lu(k,692)
         lu(k,153) = 1._r8 / lu(k,153)
         lu(k,154) = lu(k,154) * lu(k,153)
         lu(k,155) = lu(k,155) * lu(k,153)
         lu(k,156) = lu(k,156) * lu(k,153)
         lu(k,157) = lu(k,157) * lu(k,153)
         lu(k,158) = lu(k,158) * lu(k,153)
         lu(k,159) = lu(k,159) * lu(k,153)
         lu(k,160) = lu(k,160) * lu(k,153)
         lu(k,274) = lu(k,274) - lu(k,154) * lu(k,273)
         lu(k,275) = lu(k,275) - lu(k,155) * lu(k,273)
         lu(k,276) = - lu(k,156) * lu(k,273)
         lu(k,277) = lu(k,277) - lu(k,157) * lu(k,273)
         lu(k,278) = - lu(k,158) * lu(k,273)
         lu(k,279) = lu(k,279) - lu(k,159) * lu(k,273)
         lu(k,281) = lu(k,281) - lu(k,160) * lu(k,273)
         lu(k,532) = - lu(k,154) * lu(k,530)
         lu(k,533) = lu(k,533) - lu(k,155) * lu(k,530)
         lu(k,536) = lu(k,536) - lu(k,156) * lu(k,530)
         lu(k,537) = - lu(k,157) * lu(k,530)
         lu(k,544) = lu(k,544) - lu(k,158) * lu(k,530)
         lu(k,547) = lu(k,547) - lu(k,159) * lu(k,530)
         lu(k,551) = lu(k,551) - lu(k,160) * lu(k,530)
         lu(k,554) = - lu(k,154) * lu(k,553)
         lu(k,555) = lu(k,555) - lu(k,155) * lu(k,553)
         lu(k,557) = - lu(k,156) * lu(k,553)
         lu(k,558) = - lu(k,157) * lu(k,553)
         lu(k,565) = lu(k,565) - lu(k,158) * lu(k,553)
         lu(k,568) = lu(k,568) - lu(k,159) * lu(k,553)
         lu(k,572) = lu(k,572) - lu(k,160) * lu(k,553)
         lu(k,646) = lu(k,646) - lu(k,154) * lu(k,640)
         lu(k,648) = lu(k,648) - lu(k,155) * lu(k,640)
         lu(k,651) = lu(k,651) - lu(k,156) * lu(k,640)
         lu(k,652) = lu(k,652) - lu(k,157) * lu(k,640)
         lu(k,659) = lu(k,659) - lu(k,158) * lu(k,640)
         lu(k,662) = lu(k,662) - lu(k,159) * lu(k,640)
         lu(k,666) = lu(k,666) - lu(k,160) * lu(k,640)
         lu(k,745) = - lu(k,154) * lu(k,743)
         lu(k,747) = lu(k,747) - lu(k,155) * lu(k,743)
         lu(k,749) = - lu(k,156) * lu(k,743)
         lu(k,750) = - lu(k,157) * lu(k,743)
         lu(k,757) = lu(k,757) - lu(k,158) * lu(k,743)
         lu(k,760) = lu(k,760) - lu(k,159) * lu(k,743)
         lu(k,764) = lu(k,764) - lu(k,160) * lu(k,743)
         lu(k,162) = 1._r8 / lu(k,162)
         lu(k,163) = lu(k,163) * lu(k,162)
         lu(k,164) = lu(k,164) * lu(k,162)
         lu(k,165) = lu(k,165) * lu(k,162)
         lu(k,166) = lu(k,166) * lu(k,162)
         lu(k,167) = lu(k,167) * lu(k,162)
         lu(k,168) = lu(k,168) * lu(k,162)
         lu(k,264) = lu(k,264) - lu(k,163) * lu(k,261)
         lu(k,266) = lu(k,266) - lu(k,164) * lu(k,261)
         lu(k,267) = lu(k,267) - lu(k,165) * lu(k,261)
         lu(k,268) = lu(k,268) - lu(k,166) * lu(k,261)
         lu(k,269) = lu(k,269) - lu(k,167) * lu(k,261)
         lu(k,271) = - lu(k,168) * lu(k,261)
         lu(k,329) = lu(k,329) - lu(k,163) * lu(k,324)
         lu(k,333) = lu(k,333) - lu(k,164) * lu(k,324)
         lu(k,334) = lu(k,334) - lu(k,165) * lu(k,324)
         lu(k,335) = lu(k,335) - lu(k,166) * lu(k,324)
         lu(k,341) = lu(k,341) - lu(k,167) * lu(k,324)
         lu(k,344) = lu(k,344) - lu(k,168) * lu(k,324)
         lu(k,392) = lu(k,392) - lu(k,163) * lu(k,388)
         lu(k,396) = lu(k,396) - lu(k,164) * lu(k,388)
         lu(k,397) = lu(k,397) - lu(k,165) * lu(k,388)
         lu(k,398) = lu(k,398) - lu(k,166) * lu(k,388)
         lu(k,404) = lu(k,404) - lu(k,167) * lu(k,388)
         lu(k,408) = lu(k,408) - lu(k,168) * lu(k,388)
         lu(k,417) = lu(k,417) - lu(k,163) * lu(k,412)
         lu(k,421) = lu(k,421) - lu(k,164) * lu(k,412)
         lu(k,422) = lu(k,422) - lu(k,165) * lu(k,412)
         lu(k,423) = lu(k,423) - lu(k,166) * lu(k,412)
         lu(k,429) = lu(k,429) - lu(k,167) * lu(k,412)
         lu(k,433) = lu(k,433) - lu(k,168) * lu(k,412)
         lu(k,445) = lu(k,445) - lu(k,163) * lu(k,438)
         lu(k,449) = lu(k,449) - lu(k,164) * lu(k,438)
         lu(k,450) = lu(k,450) - lu(k,165) * lu(k,438)
         lu(k,451) = lu(k,451) - lu(k,166) * lu(k,438)
         lu(k,457) = lu(k,457) - lu(k,167) * lu(k,438)
         lu(k,461) = - lu(k,168) * lu(k,438)
         lu(k,488) = lu(k,488) - lu(k,163) * lu(k,474)
         lu(k,492) = lu(k,492) - lu(k,164) * lu(k,474)
         lu(k,493) = lu(k,493) - lu(k,165) * lu(k,474)
         lu(k,494) = lu(k,494) - lu(k,166) * lu(k,474)
         lu(k,500) = lu(k,500) - lu(k,167) * lu(k,474)
         lu(k,504) = lu(k,504) - lu(k,168) * lu(k,474)
         lu(k,650) = lu(k,650) - lu(k,163) * lu(k,641)
         lu(k,654) = lu(k,654) - lu(k,164) * lu(k,641)
         lu(k,655) = lu(k,655) - lu(k,165) * lu(k,641)
         lu(k,656) = lu(k,656) - lu(k,166) * lu(k,641)
         lu(k,662) = lu(k,662) - lu(k,167) * lu(k,641)
         lu(k,666) = lu(k,666) - lu(k,168) * lu(k,641)
      end do
      end subroutine lu_fac04
      subroutine lu_fac05( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,170) = 1._r8 / lu(k,170)
         lu(k,171) = lu(k,171) * lu(k,170)
         lu(k,172) = lu(k,172) * lu(k,170)
         lu(k,173) = lu(k,173) * lu(k,170)
         lu(k,174) = lu(k,174) * lu(k,170)
         lu(k,175) = lu(k,175) * lu(k,170)
         lu(k,176) = lu(k,176) * lu(k,170)
         lu(k,177) = lu(k,177) * lu(k,170)
         lu(k,189) = lu(k,189) - lu(k,171) * lu(k,188)
         lu(k,190) = lu(k,190) - lu(k,172) * lu(k,188)
         lu(k,191) = lu(k,191) - lu(k,173) * lu(k,188)
         lu(k,192) = lu(k,192) - lu(k,174) * lu(k,188)
         lu(k,193) = lu(k,193) - lu(k,175) * lu(k,188)
         lu(k,196) = lu(k,196) - lu(k,176) * lu(k,188)
         lu(k,197) = lu(k,197) - lu(k,177) * lu(k,188)
         lu(k,213) = lu(k,213) - lu(k,171) * lu(k,212)
         lu(k,214) = lu(k,214) - lu(k,172) * lu(k,212)
         lu(k,215) = lu(k,215) - lu(k,173) * lu(k,212)
         lu(k,216) = lu(k,216) - lu(k,174) * lu(k,212)
         lu(k,217) = lu(k,217) - lu(k,175) * lu(k,212)
         lu(k,220) = lu(k,220) - lu(k,176) * lu(k,212)
         lu(k,222) = lu(k,222) - lu(k,177) * lu(k,212)
         lu(k,226) = lu(k,226) - lu(k,171) * lu(k,225)
         lu(k,227) = - lu(k,172) * lu(k,225)
         lu(k,228) = - lu(k,173) * lu(k,225)
         lu(k,229) = lu(k,229) - lu(k,174) * lu(k,225)
         lu(k,230) = lu(k,230) - lu(k,175) * lu(k,225)
         lu(k,233) = lu(k,233) - lu(k,176) * lu(k,225)
         lu(k,235) = lu(k,235) - lu(k,177) * lu(k,225)
         lu(k,240) = - lu(k,171) * lu(k,239)
         lu(k,241) = lu(k,241) - lu(k,172) * lu(k,239)
         lu(k,242) = lu(k,242) - lu(k,173) * lu(k,239)
         lu(k,243) = lu(k,243) - lu(k,174) * lu(k,239)
         lu(k,244) = lu(k,244) - lu(k,175) * lu(k,239)
         lu(k,247) = lu(k,247) - lu(k,176) * lu(k,239)
         lu(k,249) = lu(k,249) - lu(k,177) * lu(k,239)
         lu(k,477) = lu(k,477) - lu(k,171) * lu(k,475)
         lu(k,478) = lu(k,478) - lu(k,172) * lu(k,475)
         lu(k,479) = lu(k,479) - lu(k,173) * lu(k,475)
         lu(k,480) = lu(k,480) - lu(k,174) * lu(k,475)
         lu(k,481) = lu(k,481) - lu(k,175) * lu(k,475)
         lu(k,494) = lu(k,494) - lu(k,176) * lu(k,475)
         lu(k,499) = lu(k,499) - lu(k,177) * lu(k,475)
         lu(k,607) = lu(k,607) - lu(k,171) * lu(k,606)
         lu(k,608) = lu(k,608) - lu(k,172) * lu(k,606)
         lu(k,609) = lu(k,609) - lu(k,173) * lu(k,606)
         lu(k,610) = lu(k,610) - lu(k,174) * lu(k,606)
         lu(k,611) = lu(k,611) - lu(k,175) * lu(k,606)
         lu(k,619) = lu(k,619) - lu(k,176) * lu(k,606)
         lu(k,624) = lu(k,624) - lu(k,177) * lu(k,606)
         lu(k,178) = 1._r8 / lu(k,178)
         lu(k,179) = lu(k,179) * lu(k,178)
         lu(k,180) = lu(k,180) * lu(k,178)
         lu(k,181) = lu(k,181) * lu(k,178)
         lu(k,182) = lu(k,182) * lu(k,178)
         lu(k,183) = lu(k,183) * lu(k,178)
         lu(k,184) = lu(k,184) * lu(k,178)
         lu(k,185) = lu(k,185) * lu(k,178)
         lu(k,309) = lu(k,309) - lu(k,179) * lu(k,308)
         lu(k,310) = lu(k,310) - lu(k,180) * lu(k,308)
         lu(k,312) = - lu(k,181) * lu(k,308)
         lu(k,314) = - lu(k,182) * lu(k,308)
         lu(k,316) = lu(k,316) - lu(k,183) * lu(k,308)
         lu(k,318) = lu(k,318) - lu(k,184) * lu(k,308)
         lu(k,320) = - lu(k,185) * lu(k,308)
         lu(k,390) = lu(k,390) - lu(k,179) * lu(k,389)
         lu(k,391) = lu(k,391) - lu(k,180) * lu(k,389)
         lu(k,398) = lu(k,398) - lu(k,181) * lu(k,389)
         lu(k,400) = - lu(k,182) * lu(k,389)
         lu(k,402) = lu(k,402) - lu(k,183) * lu(k,389)
         lu(k,404) = lu(k,404) - lu(k,184) * lu(k,389)
         lu(k,408) = lu(k,408) - lu(k,185) * lu(k,389)
         lu(k,486) = lu(k,486) - lu(k,179) * lu(k,476)
         lu(k,487) = lu(k,487) - lu(k,180) * lu(k,476)
         lu(k,494) = lu(k,494) - lu(k,181) * lu(k,476)
         lu(k,496) = - lu(k,182) * lu(k,476)
         lu(k,498) = lu(k,498) - lu(k,183) * lu(k,476)
         lu(k,500) = lu(k,500) - lu(k,184) * lu(k,476)
         lu(k,504) = lu(k,504) - lu(k,185) * lu(k,476)
         lu(k,508) = lu(k,508) - lu(k,179) * lu(k,506)
         lu(k,509) = lu(k,509) - lu(k,180) * lu(k,506)
         lu(k,516) = lu(k,516) - lu(k,181) * lu(k,506)
         lu(k,518) = - lu(k,182) * lu(k,506)
         lu(k,520) = - lu(k,183) * lu(k,506)
         lu(k,522) = lu(k,522) - lu(k,184) * lu(k,506)
         lu(k,526) = lu(k,526) - lu(k,185) * lu(k,506)
         lu(k,533) = lu(k,533) - lu(k,179) * lu(k,531)
         lu(k,534) = lu(k,534) - lu(k,180) * lu(k,531)
         lu(k,541) = lu(k,541) - lu(k,181) * lu(k,531)
         lu(k,543) = lu(k,543) - lu(k,182) * lu(k,531)
         lu(k,545) = lu(k,545) - lu(k,183) * lu(k,531)
         lu(k,547) = lu(k,547) - lu(k,184) * lu(k,531)
         lu(k,551) = lu(k,551) - lu(k,185) * lu(k,531)
         lu(k,648) = lu(k,648) - lu(k,179) * lu(k,642)
         lu(k,649) = lu(k,649) - lu(k,180) * lu(k,642)
         lu(k,656) = lu(k,656) - lu(k,181) * lu(k,642)
         lu(k,658) = lu(k,658) - lu(k,182) * lu(k,642)
         lu(k,660) = lu(k,660) - lu(k,183) * lu(k,642)
         lu(k,662) = lu(k,662) - lu(k,184) * lu(k,642)
         lu(k,666) = lu(k,666) - lu(k,185) * lu(k,642)
         lu(k,189) = 1._r8 / lu(k,189)
         lu(k,190) = lu(k,190) * lu(k,189)
         lu(k,191) = lu(k,191) * lu(k,189)
         lu(k,192) = lu(k,192) * lu(k,189)
         lu(k,193) = lu(k,193) * lu(k,189)
         lu(k,194) = lu(k,194) * lu(k,189)
         lu(k,195) = lu(k,195) * lu(k,189)
         lu(k,196) = lu(k,196) * lu(k,189)
         lu(k,197) = lu(k,197) * lu(k,189)
         lu(k,198) = lu(k,198) * lu(k,189)
         lu(k,214) = lu(k,214) - lu(k,190) * lu(k,213)
         lu(k,215) = lu(k,215) - lu(k,191) * lu(k,213)
         lu(k,216) = lu(k,216) - lu(k,192) * lu(k,213)
         lu(k,217) = lu(k,217) - lu(k,193) * lu(k,213)
         lu(k,218) = - lu(k,194) * lu(k,213)
         lu(k,219) = - lu(k,195) * lu(k,213)
         lu(k,220) = lu(k,220) - lu(k,196) * lu(k,213)
         lu(k,222) = lu(k,222) - lu(k,197) * lu(k,213)
         lu(k,223) = - lu(k,198) * lu(k,213)
         lu(k,227) = lu(k,227) - lu(k,190) * lu(k,226)
         lu(k,228) = lu(k,228) - lu(k,191) * lu(k,226)
         lu(k,229) = lu(k,229) - lu(k,192) * lu(k,226)
         lu(k,230) = lu(k,230) - lu(k,193) * lu(k,226)
         lu(k,231) = - lu(k,194) * lu(k,226)
         lu(k,232) = - lu(k,195) * lu(k,226)
         lu(k,233) = lu(k,233) - lu(k,196) * lu(k,226)
         lu(k,235) = lu(k,235) - lu(k,197) * lu(k,226)
         lu(k,236) = - lu(k,198) * lu(k,226)
         lu(k,241) = lu(k,241) - lu(k,190) * lu(k,240)
         lu(k,242) = lu(k,242) - lu(k,191) * lu(k,240)
         lu(k,243) = lu(k,243) - lu(k,192) * lu(k,240)
         lu(k,244) = lu(k,244) - lu(k,193) * lu(k,240)
         lu(k,245) = lu(k,245) - lu(k,194) * lu(k,240)
         lu(k,246) = - lu(k,195) * lu(k,240)
         lu(k,247) = lu(k,247) - lu(k,196) * lu(k,240)
         lu(k,249) = lu(k,249) - lu(k,197) * lu(k,240)
         lu(k,250) = lu(k,250) - lu(k,198) * lu(k,240)
         lu(k,478) = lu(k,478) - lu(k,190) * lu(k,477)
         lu(k,479) = lu(k,479) - lu(k,191) * lu(k,477)
         lu(k,480) = lu(k,480) - lu(k,192) * lu(k,477)
         lu(k,481) = lu(k,481) - lu(k,193) * lu(k,477)
         lu(k,486) = lu(k,486) - lu(k,194) * lu(k,477)
         lu(k,491) = lu(k,491) - lu(k,195) * lu(k,477)
         lu(k,494) = lu(k,494) - lu(k,196) * lu(k,477)
         lu(k,499) = lu(k,499) - lu(k,197) * lu(k,477)
         lu(k,500) = lu(k,500) - lu(k,198) * lu(k,477)
         lu(k,608) = lu(k,608) - lu(k,190) * lu(k,607)
         lu(k,609) = lu(k,609) - lu(k,191) * lu(k,607)
         lu(k,610) = lu(k,610) - lu(k,192) * lu(k,607)
         lu(k,611) = lu(k,611) - lu(k,193) * lu(k,607)
         lu(k,614) = lu(k,614) - lu(k,194) * lu(k,607)
         lu(k,616) = lu(k,616) - lu(k,195) * lu(k,607)
         lu(k,619) = lu(k,619) - lu(k,196) * lu(k,607)
         lu(k,624) = lu(k,624) - lu(k,197) * lu(k,607)
         lu(k,625) = lu(k,625) - lu(k,198) * lu(k,607)
         lu(k,200) = 1._r8 / lu(k,200)
         lu(k,201) = lu(k,201) * lu(k,200)
         lu(k,202) = lu(k,202) * lu(k,200)
         lu(k,203) = lu(k,203) * lu(k,200)
         lu(k,204) = lu(k,204) * lu(k,200)
         lu(k,205) = lu(k,205) * lu(k,200)
         lu(k,206) = lu(k,206) * lu(k,200)
         lu(k,207) = lu(k,207) * lu(k,200)
         lu(k,215) = lu(k,215) - lu(k,201) * lu(k,214)
         lu(k,216) = lu(k,216) - lu(k,202) * lu(k,214)
         lu(k,217) = lu(k,217) - lu(k,203) * lu(k,214)
         lu(k,220) = lu(k,220) - lu(k,204) * lu(k,214)
         lu(k,221) = lu(k,221) - lu(k,205) * lu(k,214)
         lu(k,222) = lu(k,222) - lu(k,206) * lu(k,214)
         lu(k,224) = lu(k,224) - lu(k,207) * lu(k,214)
         lu(k,228) = lu(k,228) - lu(k,201) * lu(k,227)
         lu(k,229) = lu(k,229) - lu(k,202) * lu(k,227)
         lu(k,230) = lu(k,230) - lu(k,203) * lu(k,227)
         lu(k,233) = lu(k,233) - lu(k,204) * lu(k,227)
         lu(k,234) = lu(k,234) - lu(k,205) * lu(k,227)
         lu(k,235) = lu(k,235) - lu(k,206) * lu(k,227)
         lu(k,237) = lu(k,237) - lu(k,207) * lu(k,227)
         lu(k,242) = lu(k,242) - lu(k,201) * lu(k,241)
         lu(k,243) = lu(k,243) - lu(k,202) * lu(k,241)
         lu(k,244) = lu(k,244) - lu(k,203) * lu(k,241)
         lu(k,247) = lu(k,247) - lu(k,204) * lu(k,241)
         lu(k,248) = - lu(k,205) * lu(k,241)
         lu(k,249) = lu(k,249) - lu(k,206) * lu(k,241)
         lu(k,252) = lu(k,252) - lu(k,207) * lu(k,241)
         lu(k,479) = lu(k,479) - lu(k,201) * lu(k,478)
         lu(k,480) = lu(k,480) - lu(k,202) * lu(k,478)
         lu(k,481) = lu(k,481) - lu(k,203) * lu(k,478)
         lu(k,494) = lu(k,494) - lu(k,204) * lu(k,478)
         lu(k,496) = lu(k,496) - lu(k,205) * lu(k,478)
         lu(k,499) = lu(k,499) - lu(k,206) * lu(k,478)
         lu(k,503) = lu(k,503) - lu(k,207) * lu(k,478)
         lu(k,609) = lu(k,609) - lu(k,201) * lu(k,608)
         lu(k,610) = lu(k,610) - lu(k,202) * lu(k,608)
         lu(k,611) = lu(k,611) - lu(k,203) * lu(k,608)
         lu(k,619) = lu(k,619) - lu(k,204) * lu(k,608)
         lu(k,621) = lu(k,621) - lu(k,205) * lu(k,608)
         lu(k,624) = lu(k,624) - lu(k,206) * lu(k,608)
         lu(k,628) = lu(k,628) - lu(k,207) * lu(k,608)
         lu(k,719) = lu(k,719) - lu(k,201) * lu(k,718)
         lu(k,720) = lu(k,720) - lu(k,202) * lu(k,718)
         lu(k,721) = lu(k,721) - lu(k,203) * lu(k,718)
         lu(k,729) = lu(k,729) - lu(k,204) * lu(k,718)
         lu(k,731) = - lu(k,205) * lu(k,718)
         lu(k,734) = lu(k,734) - lu(k,206) * lu(k,718)
         lu(k,738) = lu(k,738) - lu(k,207) * lu(k,718)
      end do
      end subroutine lu_fac05
      subroutine lu_fac06( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,215) = 1._r8 / lu(k,215)
         lu(k,216) = lu(k,216) * lu(k,215)
         lu(k,217) = lu(k,217) * lu(k,215)
         lu(k,218) = lu(k,218) * lu(k,215)
         lu(k,219) = lu(k,219) * lu(k,215)
         lu(k,220) = lu(k,220) * lu(k,215)
         lu(k,221) = lu(k,221) * lu(k,215)
         lu(k,222) = lu(k,222) * lu(k,215)
         lu(k,223) = lu(k,223) * lu(k,215)
         lu(k,224) = lu(k,224) * lu(k,215)
         lu(k,229) = lu(k,229) - lu(k,216) * lu(k,228)
         lu(k,230) = lu(k,230) - lu(k,217) * lu(k,228)
         lu(k,231) = lu(k,231) - lu(k,218) * lu(k,228)
         lu(k,232) = lu(k,232) - lu(k,219) * lu(k,228)
         lu(k,233) = lu(k,233) - lu(k,220) * lu(k,228)
         lu(k,234) = lu(k,234) - lu(k,221) * lu(k,228)
         lu(k,235) = lu(k,235) - lu(k,222) * lu(k,228)
         lu(k,236) = lu(k,236) - lu(k,223) * lu(k,228)
         lu(k,237) = lu(k,237) - lu(k,224) * lu(k,228)
         lu(k,243) = lu(k,243) - lu(k,216) * lu(k,242)
         lu(k,244) = lu(k,244) - lu(k,217) * lu(k,242)
         lu(k,245) = lu(k,245) - lu(k,218) * lu(k,242)
         lu(k,246) = lu(k,246) - lu(k,219) * lu(k,242)
         lu(k,247) = lu(k,247) - lu(k,220) * lu(k,242)
         lu(k,248) = lu(k,248) - lu(k,221) * lu(k,242)
         lu(k,249) = lu(k,249) - lu(k,222) * lu(k,242)
         lu(k,250) = lu(k,250) - lu(k,223) * lu(k,242)
         lu(k,252) = lu(k,252) - lu(k,224) * lu(k,242)
         lu(k,480) = lu(k,480) - lu(k,216) * lu(k,479)
         lu(k,481) = lu(k,481) - lu(k,217) * lu(k,479)
         lu(k,486) = lu(k,486) - lu(k,218) * lu(k,479)
         lu(k,491) = lu(k,491) - lu(k,219) * lu(k,479)
         lu(k,494) = lu(k,494) - lu(k,220) * lu(k,479)
         lu(k,496) = lu(k,496) - lu(k,221) * lu(k,479)
         lu(k,499) = lu(k,499) - lu(k,222) * lu(k,479)
         lu(k,500) = lu(k,500) - lu(k,223) * lu(k,479)
         lu(k,503) = lu(k,503) - lu(k,224) * lu(k,479)
         lu(k,610) = lu(k,610) - lu(k,216) * lu(k,609)
         lu(k,611) = lu(k,611) - lu(k,217) * lu(k,609)
         lu(k,614) = lu(k,614) - lu(k,218) * lu(k,609)
         lu(k,616) = lu(k,616) - lu(k,219) * lu(k,609)
         lu(k,619) = lu(k,619) - lu(k,220) * lu(k,609)
         lu(k,621) = lu(k,621) - lu(k,221) * lu(k,609)
         lu(k,624) = lu(k,624) - lu(k,222) * lu(k,609)
         lu(k,625) = lu(k,625) - lu(k,223) * lu(k,609)
         lu(k,628) = lu(k,628) - lu(k,224) * lu(k,609)
         lu(k,720) = lu(k,720) - lu(k,216) * lu(k,719)
         lu(k,721) = lu(k,721) - lu(k,217) * lu(k,719)
         lu(k,722) = - lu(k,218) * lu(k,719)
         lu(k,726) = lu(k,726) - lu(k,219) * lu(k,719)
         lu(k,729) = lu(k,729) - lu(k,220) * lu(k,719)
         lu(k,731) = lu(k,731) - lu(k,221) * lu(k,719)
         lu(k,734) = lu(k,734) - lu(k,222) * lu(k,719)
         lu(k,735) = lu(k,735) - lu(k,223) * lu(k,719)
         lu(k,738) = lu(k,738) - lu(k,224) * lu(k,719)
         lu(k,229) = 1._r8 / lu(k,229)
         lu(k,230) = lu(k,230) * lu(k,229)
         lu(k,231) = lu(k,231) * lu(k,229)
         lu(k,232) = lu(k,232) * lu(k,229)
         lu(k,233) = lu(k,233) * lu(k,229)
         lu(k,234) = lu(k,234) * lu(k,229)
         lu(k,235) = lu(k,235) * lu(k,229)
         lu(k,236) = lu(k,236) * lu(k,229)
         lu(k,237) = lu(k,237) * lu(k,229)
         lu(k,244) = lu(k,244) - lu(k,230) * lu(k,243)
         lu(k,245) = lu(k,245) - lu(k,231) * lu(k,243)
         lu(k,246) = lu(k,246) - lu(k,232) * lu(k,243)
         lu(k,247) = lu(k,247) - lu(k,233) * lu(k,243)
         lu(k,248) = lu(k,248) - lu(k,234) * lu(k,243)
         lu(k,249) = lu(k,249) - lu(k,235) * lu(k,243)
         lu(k,250) = lu(k,250) - lu(k,236) * lu(k,243)
         lu(k,252) = lu(k,252) - lu(k,237) * lu(k,243)
         lu(k,481) = lu(k,481) - lu(k,230) * lu(k,480)
         lu(k,486) = lu(k,486) - lu(k,231) * lu(k,480)
         lu(k,491) = lu(k,491) - lu(k,232) * lu(k,480)
         lu(k,494) = lu(k,494) - lu(k,233) * lu(k,480)
         lu(k,496) = lu(k,496) - lu(k,234) * lu(k,480)
         lu(k,499) = lu(k,499) - lu(k,235) * lu(k,480)
         lu(k,500) = lu(k,500) - lu(k,236) * lu(k,480)
         lu(k,503) = lu(k,503) - lu(k,237) * lu(k,480)
         lu(k,611) = lu(k,611) - lu(k,230) * lu(k,610)
         lu(k,614) = lu(k,614) - lu(k,231) * lu(k,610)
         lu(k,616) = lu(k,616) - lu(k,232) * lu(k,610)
         lu(k,619) = lu(k,619) - lu(k,233) * lu(k,610)
         lu(k,621) = lu(k,621) - lu(k,234) * lu(k,610)
         lu(k,624) = lu(k,624) - lu(k,235) * lu(k,610)
         lu(k,625) = lu(k,625) - lu(k,236) * lu(k,610)
         lu(k,628) = lu(k,628) - lu(k,237) * lu(k,610)
         lu(k,721) = lu(k,721) - lu(k,230) * lu(k,720)
         lu(k,722) = lu(k,722) - lu(k,231) * lu(k,720)
         lu(k,726) = lu(k,726) - lu(k,232) * lu(k,720)
         lu(k,729) = lu(k,729) - lu(k,233) * lu(k,720)
         lu(k,731) = lu(k,731) - lu(k,234) * lu(k,720)
         lu(k,734) = lu(k,734) - lu(k,235) * lu(k,720)
         lu(k,735) = lu(k,735) - lu(k,236) * lu(k,720)
         lu(k,738) = lu(k,738) - lu(k,237) * lu(k,720)
         lu(k,244) = 1._r8 / lu(k,244)
         lu(k,245) = lu(k,245) * lu(k,244)
         lu(k,246) = lu(k,246) * lu(k,244)
         lu(k,247) = lu(k,247) * lu(k,244)
         lu(k,248) = lu(k,248) * lu(k,244)
         lu(k,249) = lu(k,249) * lu(k,244)
         lu(k,250) = lu(k,250) * lu(k,244)
         lu(k,251) = lu(k,251) * lu(k,244)
         lu(k,252) = lu(k,252) * lu(k,244)
         lu(k,486) = lu(k,486) - lu(k,245) * lu(k,481)
         lu(k,491) = lu(k,491) - lu(k,246) * lu(k,481)
         lu(k,494) = lu(k,494) - lu(k,247) * lu(k,481)
         lu(k,496) = lu(k,496) - lu(k,248) * lu(k,481)
         lu(k,499) = lu(k,499) - lu(k,249) * lu(k,481)
         lu(k,500) = lu(k,500) - lu(k,250) * lu(k,481)
         lu(k,502) = lu(k,502) - lu(k,251) * lu(k,481)
         lu(k,503) = lu(k,503) - lu(k,252) * lu(k,481)
         lu(k,614) = lu(k,614) - lu(k,245) * lu(k,611)
         lu(k,616) = lu(k,616) - lu(k,246) * lu(k,611)
         lu(k,619) = lu(k,619) - lu(k,247) * lu(k,611)
         lu(k,621) = lu(k,621) - lu(k,248) * lu(k,611)
         lu(k,624) = lu(k,624) - lu(k,249) * lu(k,611)
         lu(k,625) = lu(k,625) - lu(k,250) * lu(k,611)
         lu(k,627) = - lu(k,251) * lu(k,611)
         lu(k,628) = lu(k,628) - lu(k,252) * lu(k,611)
         lu(k,648) = lu(k,648) - lu(k,245) * lu(k,643)
         lu(k,653) = lu(k,653) - lu(k,246) * lu(k,643)
         lu(k,656) = lu(k,656) - lu(k,247) * lu(k,643)
         lu(k,658) = lu(k,658) - lu(k,248) * lu(k,643)
         lu(k,661) = lu(k,661) - lu(k,249) * lu(k,643)
         lu(k,662) = lu(k,662) - lu(k,250) * lu(k,643)
         lu(k,664) = lu(k,664) - lu(k,251) * lu(k,643)
         lu(k,665) = lu(k,665) - lu(k,252) * lu(k,643)
         lu(k,698) = - lu(k,245) * lu(k,693)
         lu(k,703) = lu(k,703) - lu(k,246) * lu(k,693)
         lu(k,706) = lu(k,706) - lu(k,247) * lu(k,693)
         lu(k,708) = - lu(k,248) * lu(k,693)
         lu(k,711) = lu(k,711) - lu(k,249) * lu(k,693)
         lu(k,712) = lu(k,712) - lu(k,250) * lu(k,693)
         lu(k,714) = lu(k,714) - lu(k,251) * lu(k,693)
         lu(k,715) = lu(k,715) - lu(k,252) * lu(k,693)
         lu(k,722) = lu(k,722) - lu(k,245) * lu(k,721)
         lu(k,726) = lu(k,726) - lu(k,246) * lu(k,721)
         lu(k,729) = lu(k,729) - lu(k,247) * lu(k,721)
         lu(k,731) = lu(k,731) - lu(k,248) * lu(k,721)
         lu(k,734) = lu(k,734) - lu(k,249) * lu(k,721)
         lu(k,735) = lu(k,735) - lu(k,250) * lu(k,721)
         lu(k,737) = lu(k,737) - lu(k,251) * lu(k,721)
         lu(k,738) = lu(k,738) - lu(k,252) * lu(k,721)
         lu(k,254) = 1._r8 / lu(k,254)
         lu(k,255) = lu(k,255) * lu(k,254)
         lu(k,256) = lu(k,256) * lu(k,254)
         lu(k,257) = lu(k,257) * lu(k,254)
         lu(k,258) = lu(k,258) * lu(k,254)
         lu(k,259) = lu(k,259) * lu(k,254)
         lu(k,285) = lu(k,285) - lu(k,255) * lu(k,284)
         lu(k,288) = - lu(k,256) * lu(k,284)
         lu(k,291) = lu(k,291) - lu(k,257) * lu(k,284)
         lu(k,294) = lu(k,294) - lu(k,258) * lu(k,284)
         lu(k,298) = - lu(k,259) * lu(k,284)
         lu(k,365) = - lu(k,255) * lu(k,363)
         lu(k,370) = lu(k,370) - lu(k,256) * lu(k,363)
         lu(k,373) = lu(k,373) - lu(k,257) * lu(k,363)
         lu(k,379) = lu(k,379) - lu(k,258) * lu(k,363)
         lu(k,383) = - lu(k,259) * lu(k,363)
         lu(k,442) = lu(k,442) - lu(k,255) * lu(k,439)
         lu(k,448) = lu(k,448) - lu(k,256) * lu(k,439)
         lu(k,451) = lu(k,451) - lu(k,257) * lu(k,439)
         lu(k,457) = lu(k,457) - lu(k,258) * lu(k,439)
         lu(k,461) = lu(k,461) - lu(k,259) * lu(k,439)
         lu(k,485) = lu(k,485) - lu(k,255) * lu(k,482)
         lu(k,491) = lu(k,491) - lu(k,256) * lu(k,482)
         lu(k,494) = lu(k,494) - lu(k,257) * lu(k,482)
         lu(k,500) = lu(k,500) - lu(k,258) * lu(k,482)
         lu(k,504) = lu(k,504) - lu(k,259) * lu(k,482)
         lu(k,579) = lu(k,579) - lu(k,255) * lu(k,577)
         lu(k,585) = lu(k,585) - lu(k,256) * lu(k,577)
         lu(k,588) = lu(k,588) - lu(k,257) * lu(k,577)
         lu(k,594) = lu(k,594) - lu(k,258) * lu(k,577)
         lu(k,598) = lu(k,598) - lu(k,259) * lu(k,577)
         lu(k,613) = lu(k,613) - lu(k,255) * lu(k,612)
         lu(k,616) = lu(k,616) - lu(k,256) * lu(k,612)
         lu(k,619) = lu(k,619) - lu(k,257) * lu(k,612)
         lu(k,625) = lu(k,625) - lu(k,258) * lu(k,612)
         lu(k,629) = - lu(k,259) * lu(k,612)
         lu(k,647) = lu(k,647) - lu(k,255) * lu(k,644)
         lu(k,653) = lu(k,653) - lu(k,256) * lu(k,644)
         lu(k,656) = lu(k,656) - lu(k,257) * lu(k,644)
         lu(k,662) = lu(k,662) - lu(k,258) * lu(k,644)
         lu(k,666) = lu(k,666) - lu(k,259) * lu(k,644)
         lu(k,671) = lu(k,671) - lu(k,255) * lu(k,670)
         lu(k,675) = lu(k,675) - lu(k,256) * lu(k,670)
         lu(k,678) = lu(k,678) - lu(k,257) * lu(k,670)
         lu(k,684) = lu(k,684) - lu(k,258) * lu(k,670)
         lu(k,688) = - lu(k,259) * lu(k,670)
         lu(k,697) = lu(k,697) - lu(k,255) * lu(k,694)
         lu(k,703) = lu(k,703) - lu(k,256) * lu(k,694)
         lu(k,706) = lu(k,706) - lu(k,257) * lu(k,694)
         lu(k,712) = lu(k,712) - lu(k,258) * lu(k,694)
         lu(k,716) = lu(k,716) - lu(k,259) * lu(k,694)
         lu(k,746) = - lu(k,255) * lu(k,744)
         lu(k,751) = - lu(k,256) * lu(k,744)
         lu(k,754) = lu(k,754) - lu(k,257) * lu(k,744)
         lu(k,760) = lu(k,760) - lu(k,258) * lu(k,744)
         lu(k,764) = lu(k,764) - lu(k,259) * lu(k,744)
         lu(k,262) = 1._r8 / lu(k,262)
         lu(k,263) = lu(k,263) * lu(k,262)
         lu(k,264) = lu(k,264) * lu(k,262)
         lu(k,265) = lu(k,265) * lu(k,262)
         lu(k,266) = lu(k,266) * lu(k,262)
         lu(k,267) = lu(k,267) * lu(k,262)
         lu(k,268) = lu(k,268) * lu(k,262)
         lu(k,269) = lu(k,269) * lu(k,262)
         lu(k,270) = lu(k,270) * lu(k,262)
         lu(k,271) = lu(k,271) * lu(k,262)
         lu(k,326) = lu(k,326) - lu(k,263) * lu(k,325)
         lu(k,329) = lu(k,329) - lu(k,264) * lu(k,325)
         lu(k,331) = - lu(k,265) * lu(k,325)
         lu(k,333) = lu(k,333) - lu(k,266) * lu(k,325)
         lu(k,334) = lu(k,334) - lu(k,267) * lu(k,325)
         lu(k,335) = lu(k,335) - lu(k,268) * lu(k,325)
         lu(k,341) = lu(k,341) - lu(k,269) * lu(k,325)
         lu(k,343) = - lu(k,270) * lu(k,325)
         lu(k,344) = lu(k,344) - lu(k,271) * lu(k,325)
         lu(k,414) = - lu(k,263) * lu(k,413)
         lu(k,417) = lu(k,417) - lu(k,264) * lu(k,413)
         lu(k,419) = lu(k,419) - lu(k,265) * lu(k,413)
         lu(k,421) = lu(k,421) - lu(k,266) * lu(k,413)
         lu(k,422) = lu(k,422) - lu(k,267) * lu(k,413)
         lu(k,423) = lu(k,423) - lu(k,268) * lu(k,413)
         lu(k,429) = lu(k,429) - lu(k,269) * lu(k,413)
         lu(k,431) = - lu(k,270) * lu(k,413)
         lu(k,433) = lu(k,433) - lu(k,271) * lu(k,413)
         lu(k,441) = - lu(k,263) * lu(k,440)
         lu(k,445) = lu(k,445) - lu(k,264) * lu(k,440)
         lu(k,447) = - lu(k,265) * lu(k,440)
         lu(k,449) = lu(k,449) - lu(k,266) * lu(k,440)
         lu(k,450) = lu(k,450) - lu(k,267) * lu(k,440)
         lu(k,451) = lu(k,451) - lu(k,268) * lu(k,440)
         lu(k,457) = lu(k,457) - lu(k,269) * lu(k,440)
         lu(k,459) = lu(k,459) - lu(k,270) * lu(k,440)
         lu(k,461) = lu(k,461) - lu(k,271) * lu(k,440)
         lu(k,484) = lu(k,484) - lu(k,263) * lu(k,483)
         lu(k,488) = lu(k,488) - lu(k,264) * lu(k,483)
         lu(k,490) = lu(k,490) - lu(k,265) * lu(k,483)
         lu(k,492) = lu(k,492) - lu(k,266) * lu(k,483)
         lu(k,493) = lu(k,493) - lu(k,267) * lu(k,483)
         lu(k,494) = lu(k,494) - lu(k,268) * lu(k,483)
         lu(k,500) = lu(k,500) - lu(k,269) * lu(k,483)
         lu(k,502) = lu(k,502) - lu(k,270) * lu(k,483)
         lu(k,504) = lu(k,504) - lu(k,271) * lu(k,483)
         lu(k,646) = lu(k,646) - lu(k,263) * lu(k,645)
         lu(k,650) = lu(k,650) - lu(k,264) * lu(k,645)
         lu(k,652) = lu(k,652) - lu(k,265) * lu(k,645)
         lu(k,654) = lu(k,654) - lu(k,266) * lu(k,645)
         lu(k,655) = lu(k,655) - lu(k,267) * lu(k,645)
         lu(k,656) = lu(k,656) - lu(k,268) * lu(k,645)
         lu(k,662) = lu(k,662) - lu(k,269) * lu(k,645)
         lu(k,664) = lu(k,664) - lu(k,270) * lu(k,645)
         lu(k,666) = lu(k,666) - lu(k,271) * lu(k,645)
         lu(k,696) = lu(k,696) - lu(k,263) * lu(k,695)
         lu(k,700) = lu(k,700) - lu(k,264) * lu(k,695)
         lu(k,702) = lu(k,702) - lu(k,265) * lu(k,695)
         lu(k,704) = lu(k,704) - lu(k,266) * lu(k,695)
         lu(k,705) = lu(k,705) - lu(k,267) * lu(k,695)
         lu(k,706) = lu(k,706) - lu(k,268) * lu(k,695)
         lu(k,712) = lu(k,712) - lu(k,269) * lu(k,695)
         lu(k,714) = lu(k,714) - lu(k,270) * lu(k,695)
         lu(k,716) = lu(k,716) - lu(k,271) * lu(k,695)
      end do
      end subroutine lu_fac06
      subroutine lu_fac07( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,274) = 1._r8 / lu(k,274)
         lu(k,275) = lu(k,275) * lu(k,274)
         lu(k,276) = lu(k,276) * lu(k,274)
         lu(k,277) = lu(k,277) * lu(k,274)
         lu(k,278) = lu(k,278) * lu(k,274)
         lu(k,279) = lu(k,279) * lu(k,274)
         lu(k,280) = lu(k,280) * lu(k,274)
         lu(k,281) = lu(k,281) * lu(k,274)
         lu(k,327) = lu(k,327) - lu(k,275) * lu(k,326)
         lu(k,330) = - lu(k,276) * lu(k,326)
         lu(k,331) = lu(k,331) - lu(k,277) * lu(k,326)
         lu(k,338) = - lu(k,278) * lu(k,326)
         lu(k,341) = lu(k,341) - lu(k,279) * lu(k,326)
         lu(k,343) = lu(k,343) - lu(k,280) * lu(k,326)
         lu(k,344) = lu(k,344) - lu(k,281) * lu(k,326)
         lu(k,366) = lu(k,366) - lu(k,275) * lu(k,364)
         lu(k,368) = - lu(k,276) * lu(k,364)
         lu(k,369) = lu(k,369) - lu(k,277) * lu(k,364)
         lu(k,376) = - lu(k,278) * lu(k,364)
         lu(k,379) = lu(k,379) - lu(k,279) * lu(k,364)
         lu(k,381) = lu(k,381) - lu(k,280) * lu(k,364)
         lu(k,383) = lu(k,383) - lu(k,281) * lu(k,364)
         lu(k,415) = lu(k,415) - lu(k,275) * lu(k,414)
         lu(k,418) = lu(k,418) - lu(k,276) * lu(k,414)
         lu(k,419) = lu(k,419) - lu(k,277) * lu(k,414)
         lu(k,426) = lu(k,426) - lu(k,278) * lu(k,414)
         lu(k,429) = lu(k,429) - lu(k,279) * lu(k,414)
         lu(k,431) = lu(k,431) - lu(k,280) * lu(k,414)
         lu(k,433) = lu(k,433) - lu(k,281) * lu(k,414)
         lu(k,443) = - lu(k,275) * lu(k,441)
         lu(k,446) = lu(k,446) - lu(k,276) * lu(k,441)
         lu(k,447) = lu(k,447) - lu(k,277) * lu(k,441)
         lu(k,454) = - lu(k,278) * lu(k,441)
         lu(k,457) = lu(k,457) - lu(k,279) * lu(k,441)
         lu(k,459) = lu(k,459) - lu(k,280) * lu(k,441)
         lu(k,461) = lu(k,461) - lu(k,281) * lu(k,441)
         lu(k,486) = lu(k,486) - lu(k,275) * lu(k,484)
         lu(k,489) = - lu(k,276) * lu(k,484)
         lu(k,490) = lu(k,490) - lu(k,277) * lu(k,484)
         lu(k,497) = lu(k,497) - lu(k,278) * lu(k,484)
         lu(k,500) = lu(k,500) - lu(k,279) * lu(k,484)
         lu(k,502) = lu(k,502) - lu(k,280) * lu(k,484)
         lu(k,504) = lu(k,504) - lu(k,281) * lu(k,484)
         lu(k,508) = lu(k,508) - lu(k,275) * lu(k,507)
         lu(k,511) = - lu(k,276) * lu(k,507)
         lu(k,512) = lu(k,512) - lu(k,277) * lu(k,507)
         lu(k,519) = lu(k,519) - lu(k,278) * lu(k,507)
         lu(k,522) = lu(k,522) - lu(k,279) * lu(k,507)
         lu(k,524) = - lu(k,280) * lu(k,507)
         lu(k,526) = lu(k,526) - lu(k,281) * lu(k,507)
         lu(k,533) = lu(k,533) - lu(k,275) * lu(k,532)
         lu(k,536) = lu(k,536) - lu(k,276) * lu(k,532)
         lu(k,537) = lu(k,537) - lu(k,277) * lu(k,532)
         lu(k,544) = lu(k,544) - lu(k,278) * lu(k,532)
         lu(k,547) = lu(k,547) - lu(k,279) * lu(k,532)
         lu(k,549) = - lu(k,280) * lu(k,532)
         lu(k,551) = lu(k,551) - lu(k,281) * lu(k,532)
         lu(k,555) = lu(k,555) - lu(k,275) * lu(k,554)
         lu(k,557) = lu(k,557) - lu(k,276) * lu(k,554)
         lu(k,558) = lu(k,558) - lu(k,277) * lu(k,554)
         lu(k,565) = lu(k,565) - lu(k,278) * lu(k,554)
         lu(k,568) = lu(k,568) - lu(k,279) * lu(k,554)
         lu(k,570) = - lu(k,280) * lu(k,554)
         lu(k,572) = lu(k,572) - lu(k,281) * lu(k,554)
         lu(k,580) = - lu(k,275) * lu(k,578)
         lu(k,583) = - lu(k,276) * lu(k,578)
         lu(k,584) = lu(k,584) - lu(k,277) * lu(k,578)
         lu(k,591) = - lu(k,278) * lu(k,578)
         lu(k,594) = lu(k,594) - lu(k,279) * lu(k,578)
         lu(k,596) = lu(k,596) - lu(k,280) * lu(k,578)
         lu(k,598) = lu(k,598) - lu(k,281) * lu(k,578)
         lu(k,648) = lu(k,648) - lu(k,275) * lu(k,646)
         lu(k,651) = lu(k,651) - lu(k,276) * lu(k,646)
         lu(k,652) = lu(k,652) - lu(k,277) * lu(k,646)
         lu(k,659) = lu(k,659) - lu(k,278) * lu(k,646)
         lu(k,662) = lu(k,662) - lu(k,279) * lu(k,646)
         lu(k,664) = lu(k,664) - lu(k,280) * lu(k,646)
         lu(k,666) = lu(k,666) - lu(k,281) * lu(k,646)
         lu(k,698) = lu(k,698) - lu(k,275) * lu(k,696)
         lu(k,701) = - lu(k,276) * lu(k,696)
         lu(k,702) = lu(k,702) - lu(k,277) * lu(k,696)
         lu(k,709) = - lu(k,278) * lu(k,696)
         lu(k,712) = lu(k,712) - lu(k,279) * lu(k,696)
         lu(k,714) = lu(k,714) - lu(k,280) * lu(k,696)
         lu(k,716) = lu(k,716) - lu(k,281) * lu(k,696)
         lu(k,747) = lu(k,747) - lu(k,275) * lu(k,745)
         lu(k,749) = lu(k,749) - lu(k,276) * lu(k,745)
         lu(k,750) = lu(k,750) - lu(k,277) * lu(k,745)
         lu(k,757) = lu(k,757) - lu(k,278) * lu(k,745)
         lu(k,760) = lu(k,760) - lu(k,279) * lu(k,745)
         lu(k,762) = - lu(k,280) * lu(k,745)
         lu(k,764) = lu(k,764) - lu(k,281) * lu(k,745)
         lu(k,285) = 1._r8 / lu(k,285)
         lu(k,286) = lu(k,286) * lu(k,285)
         lu(k,287) = lu(k,287) * lu(k,285)
         lu(k,288) = lu(k,288) * lu(k,285)
         lu(k,289) = lu(k,289) * lu(k,285)
         lu(k,290) = lu(k,290) * lu(k,285)
         lu(k,291) = lu(k,291) * lu(k,285)
         lu(k,292) = lu(k,292) * lu(k,285)
         lu(k,293) = lu(k,293) * lu(k,285)
         lu(k,294) = lu(k,294) * lu(k,285)
         lu(k,295) = lu(k,295) * lu(k,285)
         lu(k,296) = lu(k,296) * lu(k,285)
         lu(k,297) = lu(k,297) * lu(k,285)
         lu(k,298) = lu(k,298) * lu(k,285)
         lu(k,366) = lu(k,366) - lu(k,286) * lu(k,365)
         lu(k,367) = - lu(k,287) * lu(k,365)
         lu(k,370) = lu(k,370) - lu(k,288) * lu(k,365)
         lu(k,371) = - lu(k,289) * lu(k,365)
         lu(k,372) = - lu(k,290) * lu(k,365)
         lu(k,373) = lu(k,373) - lu(k,291) * lu(k,365)
         lu(k,377) = - lu(k,292) * lu(k,365)
         lu(k,378) = lu(k,378) - lu(k,293) * lu(k,365)
         lu(k,379) = lu(k,379) - lu(k,294) * lu(k,365)
         lu(k,380) = - lu(k,295) * lu(k,365)
         lu(k,381) = lu(k,381) - lu(k,296) * lu(k,365)
         lu(k,382) = lu(k,382) - lu(k,297) * lu(k,365)
         lu(k,383) = lu(k,383) - lu(k,298) * lu(k,365)
         lu(k,443) = lu(k,443) - lu(k,286) * lu(k,442)
         lu(k,444) = lu(k,444) - lu(k,287) * lu(k,442)
         lu(k,448) = lu(k,448) - lu(k,288) * lu(k,442)
         lu(k,449) = lu(k,449) - lu(k,289) * lu(k,442)
         lu(k,450) = lu(k,450) - lu(k,290) * lu(k,442)
         lu(k,451) = lu(k,451) - lu(k,291) * lu(k,442)
         lu(k,455) = lu(k,455) - lu(k,292) * lu(k,442)
         lu(k,456) = lu(k,456) - lu(k,293) * lu(k,442)
         lu(k,457) = lu(k,457) - lu(k,294) * lu(k,442)
         lu(k,458) = - lu(k,295) * lu(k,442)
         lu(k,459) = lu(k,459) - lu(k,296) * lu(k,442)
         lu(k,460) = lu(k,460) - lu(k,297) * lu(k,442)
         lu(k,461) = lu(k,461) - lu(k,298) * lu(k,442)
         lu(k,486) = lu(k,486) - lu(k,286) * lu(k,485)
         lu(k,487) = lu(k,487) - lu(k,287) * lu(k,485)
         lu(k,491) = lu(k,491) - lu(k,288) * lu(k,485)
         lu(k,492) = lu(k,492) - lu(k,289) * lu(k,485)
         lu(k,493) = lu(k,493) - lu(k,290) * lu(k,485)
         lu(k,494) = lu(k,494) - lu(k,291) * lu(k,485)
         lu(k,498) = lu(k,498) - lu(k,292) * lu(k,485)
         lu(k,499) = lu(k,499) - lu(k,293) * lu(k,485)
         lu(k,500) = lu(k,500) - lu(k,294) * lu(k,485)
         lu(k,501) = lu(k,501) - lu(k,295) * lu(k,485)
         lu(k,502) = lu(k,502) - lu(k,296) * lu(k,485)
         lu(k,503) = lu(k,503) - lu(k,297) * lu(k,485)
         lu(k,504) = lu(k,504) - lu(k,298) * lu(k,485)
         lu(k,580) = lu(k,580) - lu(k,286) * lu(k,579)
         lu(k,581) = lu(k,581) - lu(k,287) * lu(k,579)
         lu(k,585) = lu(k,585) - lu(k,288) * lu(k,579)
         lu(k,586) = lu(k,586) - lu(k,289) * lu(k,579)
         lu(k,587) = lu(k,587) - lu(k,290) * lu(k,579)
         lu(k,588) = lu(k,588) - lu(k,291) * lu(k,579)
         lu(k,592) = lu(k,592) - lu(k,292) * lu(k,579)
         lu(k,593) = lu(k,593) - lu(k,293) * lu(k,579)
         lu(k,594) = lu(k,594) - lu(k,294) * lu(k,579)
         lu(k,595) = - lu(k,295) * lu(k,579)
         lu(k,596) = lu(k,596) - lu(k,296) * lu(k,579)
         lu(k,597) = lu(k,597) - lu(k,297) * lu(k,579)
         lu(k,598) = lu(k,598) - lu(k,298) * lu(k,579)
         lu(k,614) = lu(k,614) - lu(k,286) * lu(k,613)
         lu(k,615) = - lu(k,287) * lu(k,613)
         lu(k,616) = lu(k,616) - lu(k,288) * lu(k,613)
         lu(k,617) = - lu(k,289) * lu(k,613)
         lu(k,618) = - lu(k,290) * lu(k,613)
         lu(k,619) = lu(k,619) - lu(k,291) * lu(k,613)
         lu(k,623) = - lu(k,292) * lu(k,613)
         lu(k,624) = lu(k,624) - lu(k,293) * lu(k,613)
         lu(k,625) = lu(k,625) - lu(k,294) * lu(k,613)
         lu(k,626) = lu(k,626) - lu(k,295) * lu(k,613)
         lu(k,627) = lu(k,627) - lu(k,296) * lu(k,613)
         lu(k,628) = lu(k,628) - lu(k,297) * lu(k,613)
         lu(k,629) = lu(k,629) - lu(k,298) * lu(k,613)
         lu(k,648) = lu(k,648) - lu(k,286) * lu(k,647)
         lu(k,649) = lu(k,649) - lu(k,287) * lu(k,647)
         lu(k,653) = lu(k,653) - lu(k,288) * lu(k,647)
         lu(k,654) = lu(k,654) - lu(k,289) * lu(k,647)
         lu(k,655) = lu(k,655) - lu(k,290) * lu(k,647)
         lu(k,656) = lu(k,656) - lu(k,291) * lu(k,647)
         lu(k,660) = lu(k,660) - lu(k,292) * lu(k,647)
         lu(k,661) = lu(k,661) - lu(k,293) * lu(k,647)
         lu(k,662) = lu(k,662) - lu(k,294) * lu(k,647)
         lu(k,663) = lu(k,663) - lu(k,295) * lu(k,647)
         lu(k,664) = lu(k,664) - lu(k,296) * lu(k,647)
         lu(k,665) = lu(k,665) - lu(k,297) * lu(k,647)
         lu(k,666) = lu(k,666) - lu(k,298) * lu(k,647)
         lu(k,672) = lu(k,672) - lu(k,286) * lu(k,671)
         lu(k,673) = lu(k,673) - lu(k,287) * lu(k,671)
         lu(k,675) = lu(k,675) - lu(k,288) * lu(k,671)
         lu(k,676) = lu(k,676) - lu(k,289) * lu(k,671)
         lu(k,677) = lu(k,677) - lu(k,290) * lu(k,671)
         lu(k,678) = lu(k,678) - lu(k,291) * lu(k,671)
         lu(k,682) = lu(k,682) - lu(k,292) * lu(k,671)
         lu(k,683) = lu(k,683) - lu(k,293) * lu(k,671)
         lu(k,684) = lu(k,684) - lu(k,294) * lu(k,671)
         lu(k,685) = lu(k,685) - lu(k,295) * lu(k,671)
         lu(k,686) = lu(k,686) - lu(k,296) * lu(k,671)
         lu(k,687) = lu(k,687) - lu(k,297) * lu(k,671)
         lu(k,688) = lu(k,688) - lu(k,298) * lu(k,671)
         lu(k,698) = lu(k,698) - lu(k,286) * lu(k,697)
         lu(k,699) = lu(k,699) - lu(k,287) * lu(k,697)
         lu(k,703) = lu(k,703) - lu(k,288) * lu(k,697)
         lu(k,704) = lu(k,704) - lu(k,289) * lu(k,697)
         lu(k,705) = lu(k,705) - lu(k,290) * lu(k,697)
         lu(k,706) = lu(k,706) - lu(k,291) * lu(k,697)
         lu(k,710) = lu(k,710) - lu(k,292) * lu(k,697)
         lu(k,711) = lu(k,711) - lu(k,293) * lu(k,697)
         lu(k,712) = lu(k,712) - lu(k,294) * lu(k,697)
         lu(k,713) = lu(k,713) - lu(k,295) * lu(k,697)
         lu(k,714) = lu(k,714) - lu(k,296) * lu(k,697)
         lu(k,715) = lu(k,715) - lu(k,297) * lu(k,697)
         lu(k,716) = lu(k,716) - lu(k,298) * lu(k,697)
         lu(k,747) = lu(k,747) - lu(k,286) * lu(k,746)
         lu(k,748) = - lu(k,287) * lu(k,746)
         lu(k,751) = lu(k,751) - lu(k,288) * lu(k,746)
         lu(k,752) = - lu(k,289) * lu(k,746)
         lu(k,753) = - lu(k,290) * lu(k,746)
         lu(k,754) = lu(k,754) - lu(k,291) * lu(k,746)
         lu(k,758) = - lu(k,292) * lu(k,746)
         lu(k,759) = - lu(k,293) * lu(k,746)
         lu(k,760) = lu(k,760) - lu(k,294) * lu(k,746)
         lu(k,761) = - lu(k,295) * lu(k,746)
         lu(k,762) = lu(k,762) - lu(k,296) * lu(k,746)
         lu(k,763) = - lu(k,297) * lu(k,746)
         lu(k,764) = lu(k,764) - lu(k,298) * lu(k,746)
      end do
      end subroutine lu_fac07
      subroutine lu_fac08( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,299) = 1._r8 / lu(k,299)
         lu(k,300) = lu(k,300) * lu(k,299)
         lu(k,301) = lu(k,301) * lu(k,299)
         lu(k,302) = lu(k,302) * lu(k,299)
         lu(k,303) = lu(k,303) * lu(k,299)
         lu(k,304) = lu(k,304) * lu(k,299)
         lu(k,305) = lu(k,305) * lu(k,299)
         lu(k,306) = lu(k,306) * lu(k,299)
         lu(k,311) = lu(k,311) - lu(k,300) * lu(k,309)
         lu(k,312) = lu(k,312) - lu(k,301) * lu(k,309)
         lu(k,315) = - lu(k,302) * lu(k,309)
         lu(k,317) = lu(k,317) - lu(k,303) * lu(k,309)
         lu(k,318) = lu(k,318) - lu(k,304) * lu(k,309)
         lu(k,319) = lu(k,319) - lu(k,305) * lu(k,309)
         lu(k,320) = lu(k,320) - lu(k,306) * lu(k,309)
         lu(k,332) = - lu(k,300) * lu(k,327)
         lu(k,335) = lu(k,335) - lu(k,301) * lu(k,327)
         lu(k,338) = lu(k,338) - lu(k,302) * lu(k,327)
         lu(k,340) = - lu(k,303) * lu(k,327)
         lu(k,341) = lu(k,341) - lu(k,304) * lu(k,327)
         lu(k,342) = - lu(k,305) * lu(k,327)
         lu(k,344) = lu(k,344) - lu(k,306) * lu(k,327)
         lu(k,348) = lu(k,348) - lu(k,300) * lu(k,346)
         lu(k,351) = - lu(k,301) * lu(k,346)
         lu(k,353) = - lu(k,302) * lu(k,346)
         lu(k,354) = lu(k,354) - lu(k,303) * lu(k,346)
         lu(k,355) = lu(k,355) - lu(k,304) * lu(k,346)
         lu(k,356) = - lu(k,305) * lu(k,346)
         lu(k,359) = lu(k,359) - lu(k,306) * lu(k,346)
         lu(k,370) = lu(k,370) - lu(k,300) * lu(k,366)
         lu(k,373) = lu(k,373) - lu(k,301) * lu(k,366)
         lu(k,376) = lu(k,376) - lu(k,302) * lu(k,366)
         lu(k,378) = lu(k,378) - lu(k,303) * lu(k,366)
         lu(k,379) = lu(k,379) - lu(k,304) * lu(k,366)
         lu(k,380) = lu(k,380) - lu(k,305) * lu(k,366)
         lu(k,383) = lu(k,383) - lu(k,306) * lu(k,366)
         lu(k,395) = lu(k,395) - lu(k,300) * lu(k,390)
         lu(k,398) = lu(k,398) - lu(k,301) * lu(k,390)
         lu(k,401) = lu(k,401) - lu(k,302) * lu(k,390)
         lu(k,403) = lu(k,403) - lu(k,303) * lu(k,390)
         lu(k,404) = lu(k,404) - lu(k,304) * lu(k,390)
         lu(k,405) = lu(k,405) - lu(k,305) * lu(k,390)
         lu(k,408) = lu(k,408) - lu(k,306) * lu(k,390)
         lu(k,420) = lu(k,420) - lu(k,300) * lu(k,415)
         lu(k,423) = lu(k,423) - lu(k,301) * lu(k,415)
         lu(k,426) = lu(k,426) - lu(k,302) * lu(k,415)
         lu(k,428) = lu(k,428) - lu(k,303) * lu(k,415)
         lu(k,429) = lu(k,429) - lu(k,304) * lu(k,415)
         lu(k,430) = lu(k,430) - lu(k,305) * lu(k,415)
         lu(k,433) = lu(k,433) - lu(k,306) * lu(k,415)
         lu(k,448) = lu(k,448) - lu(k,300) * lu(k,443)
         lu(k,451) = lu(k,451) - lu(k,301) * lu(k,443)
         lu(k,454) = lu(k,454) - lu(k,302) * lu(k,443)
         lu(k,456) = lu(k,456) - lu(k,303) * lu(k,443)
         lu(k,457) = lu(k,457) - lu(k,304) * lu(k,443)
         lu(k,458) = lu(k,458) - lu(k,305) * lu(k,443)
         lu(k,461) = lu(k,461) - lu(k,306) * lu(k,443)
         lu(k,491) = lu(k,491) - lu(k,300) * lu(k,486)
         lu(k,494) = lu(k,494) - lu(k,301) * lu(k,486)
         lu(k,497) = lu(k,497) - lu(k,302) * lu(k,486)
         lu(k,499) = lu(k,499) - lu(k,303) * lu(k,486)
         lu(k,500) = lu(k,500) - lu(k,304) * lu(k,486)
         lu(k,501) = lu(k,501) - lu(k,305) * lu(k,486)
         lu(k,504) = lu(k,504) - lu(k,306) * lu(k,486)
         lu(k,513) = lu(k,513) - lu(k,300) * lu(k,508)
         lu(k,516) = lu(k,516) - lu(k,301) * lu(k,508)
         lu(k,519) = lu(k,519) - lu(k,302) * lu(k,508)
         lu(k,521) = - lu(k,303) * lu(k,508)
         lu(k,522) = lu(k,522) - lu(k,304) * lu(k,508)
         lu(k,523) = - lu(k,305) * lu(k,508)
         lu(k,526) = lu(k,526) - lu(k,306) * lu(k,508)
         lu(k,538) = lu(k,538) - lu(k,300) * lu(k,533)
         lu(k,541) = lu(k,541) - lu(k,301) * lu(k,533)
         lu(k,544) = lu(k,544) - lu(k,302) * lu(k,533)
         lu(k,546) = lu(k,546) - lu(k,303) * lu(k,533)
         lu(k,547) = lu(k,547) - lu(k,304) * lu(k,533)
         lu(k,548) = lu(k,548) - lu(k,305) * lu(k,533)
         lu(k,551) = lu(k,551) - lu(k,306) * lu(k,533)
         lu(k,559) = - lu(k,300) * lu(k,555)
         lu(k,562) = lu(k,562) - lu(k,301) * lu(k,555)
         lu(k,565) = lu(k,565) - lu(k,302) * lu(k,555)
         lu(k,567) = - lu(k,303) * lu(k,555)
         lu(k,568) = lu(k,568) - lu(k,304) * lu(k,555)
         lu(k,569) = - lu(k,305) * lu(k,555)
         lu(k,572) = lu(k,572) - lu(k,306) * lu(k,555)
         lu(k,585) = lu(k,585) - lu(k,300) * lu(k,580)
         lu(k,588) = lu(k,588) - lu(k,301) * lu(k,580)
         lu(k,591) = lu(k,591) - lu(k,302) * lu(k,580)
         lu(k,593) = lu(k,593) - lu(k,303) * lu(k,580)
         lu(k,594) = lu(k,594) - lu(k,304) * lu(k,580)
         lu(k,595) = lu(k,595) - lu(k,305) * lu(k,580)
         lu(k,598) = lu(k,598) - lu(k,306) * lu(k,580)
         lu(k,616) = lu(k,616) - lu(k,300) * lu(k,614)
         lu(k,619) = lu(k,619) - lu(k,301) * lu(k,614)
         lu(k,622) = - lu(k,302) * lu(k,614)
         lu(k,624) = lu(k,624) - lu(k,303) * lu(k,614)
         lu(k,625) = lu(k,625) - lu(k,304) * lu(k,614)
         lu(k,626) = lu(k,626) - lu(k,305) * lu(k,614)
         lu(k,629) = lu(k,629) - lu(k,306) * lu(k,614)
         lu(k,653) = lu(k,653) - lu(k,300) * lu(k,648)
         lu(k,656) = lu(k,656) - lu(k,301) * lu(k,648)
         lu(k,659) = lu(k,659) - lu(k,302) * lu(k,648)
         lu(k,661) = lu(k,661) - lu(k,303) * lu(k,648)
         lu(k,662) = lu(k,662) - lu(k,304) * lu(k,648)
         lu(k,663) = lu(k,663) - lu(k,305) * lu(k,648)
         lu(k,666) = lu(k,666) - lu(k,306) * lu(k,648)
         lu(k,675) = lu(k,675) - lu(k,300) * lu(k,672)
         lu(k,678) = lu(k,678) - lu(k,301) * lu(k,672)
         lu(k,681) = - lu(k,302) * lu(k,672)
         lu(k,683) = lu(k,683) - lu(k,303) * lu(k,672)
         lu(k,684) = lu(k,684) - lu(k,304) * lu(k,672)
         lu(k,685) = lu(k,685) - lu(k,305) * lu(k,672)
         lu(k,688) = lu(k,688) - lu(k,306) * lu(k,672)
         lu(k,703) = lu(k,703) - lu(k,300) * lu(k,698)
         lu(k,706) = lu(k,706) - lu(k,301) * lu(k,698)
         lu(k,709) = lu(k,709) - lu(k,302) * lu(k,698)
         lu(k,711) = lu(k,711) - lu(k,303) * lu(k,698)
         lu(k,712) = lu(k,712) - lu(k,304) * lu(k,698)
         lu(k,713) = lu(k,713) - lu(k,305) * lu(k,698)
         lu(k,716) = lu(k,716) - lu(k,306) * lu(k,698)
         lu(k,726) = lu(k,726) - lu(k,300) * lu(k,722)
         lu(k,729) = lu(k,729) - lu(k,301) * lu(k,722)
         lu(k,732) = - lu(k,302) * lu(k,722)
         lu(k,734) = lu(k,734) - lu(k,303) * lu(k,722)
         lu(k,735) = lu(k,735) - lu(k,304) * lu(k,722)
         lu(k,736) = lu(k,736) - lu(k,305) * lu(k,722)
         lu(k,739) = - lu(k,306) * lu(k,722)
         lu(k,751) = lu(k,751) - lu(k,300) * lu(k,747)
         lu(k,754) = lu(k,754) - lu(k,301) * lu(k,747)
         lu(k,757) = lu(k,757) - lu(k,302) * lu(k,747)
         lu(k,759) = lu(k,759) - lu(k,303) * lu(k,747)
         lu(k,760) = lu(k,760) - lu(k,304) * lu(k,747)
         lu(k,761) = lu(k,761) - lu(k,305) * lu(k,747)
         lu(k,764) = lu(k,764) - lu(k,306) * lu(k,747)
         lu(k,310) = 1._r8 / lu(k,310)
         lu(k,311) = lu(k,311) * lu(k,310)
         lu(k,312) = lu(k,312) * lu(k,310)
         lu(k,313) = lu(k,313) * lu(k,310)
         lu(k,314) = lu(k,314) * lu(k,310)
         lu(k,315) = lu(k,315) * lu(k,310)
         lu(k,316) = lu(k,316) * lu(k,310)
         lu(k,317) = lu(k,317) * lu(k,310)
         lu(k,318) = lu(k,318) * lu(k,310)
         lu(k,319) = lu(k,319) * lu(k,310)
         lu(k,320) = lu(k,320) * lu(k,310)
         lu(k,332) = lu(k,332) - lu(k,311) * lu(k,328)
         lu(k,335) = lu(k,335) - lu(k,312) * lu(k,328)
         lu(k,336) = - lu(k,313) * lu(k,328)
         lu(k,337) = lu(k,337) - lu(k,314) * lu(k,328)
         lu(k,338) = lu(k,338) - lu(k,315) * lu(k,328)
         lu(k,339) = lu(k,339) - lu(k,316) * lu(k,328)
         lu(k,340) = lu(k,340) - lu(k,317) * lu(k,328)
         lu(k,341) = lu(k,341) - lu(k,318) * lu(k,328)
         lu(k,342) = lu(k,342) - lu(k,319) * lu(k,328)
         lu(k,344) = lu(k,344) - lu(k,320) * lu(k,328)
         lu(k,370) = lu(k,370) - lu(k,311) * lu(k,367)
         lu(k,373) = lu(k,373) - lu(k,312) * lu(k,367)
         lu(k,374) = lu(k,374) - lu(k,313) * lu(k,367)
         lu(k,375) = - lu(k,314) * lu(k,367)
         lu(k,376) = lu(k,376) - lu(k,315) * lu(k,367)
         lu(k,377) = lu(k,377) - lu(k,316) * lu(k,367)
         lu(k,378) = lu(k,378) - lu(k,317) * lu(k,367)
         lu(k,379) = lu(k,379) - lu(k,318) * lu(k,367)
         lu(k,380) = lu(k,380) - lu(k,319) * lu(k,367)
         lu(k,383) = lu(k,383) - lu(k,320) * lu(k,367)
         lu(k,395) = lu(k,395) - lu(k,311) * lu(k,391)
         lu(k,398) = lu(k,398) - lu(k,312) * lu(k,391)
         lu(k,399) = lu(k,399) - lu(k,313) * lu(k,391)
         lu(k,400) = lu(k,400) - lu(k,314) * lu(k,391)
         lu(k,401) = lu(k,401) - lu(k,315) * lu(k,391)
         lu(k,402) = lu(k,402) - lu(k,316) * lu(k,391)
         lu(k,403) = lu(k,403) - lu(k,317) * lu(k,391)
         lu(k,404) = lu(k,404) - lu(k,318) * lu(k,391)
         lu(k,405) = lu(k,405) - lu(k,319) * lu(k,391)
         lu(k,408) = lu(k,408) - lu(k,320) * lu(k,391)
         lu(k,420) = lu(k,420) - lu(k,311) * lu(k,416)
         lu(k,423) = lu(k,423) - lu(k,312) * lu(k,416)
         lu(k,424) = lu(k,424) - lu(k,313) * lu(k,416)
         lu(k,425) = - lu(k,314) * lu(k,416)
         lu(k,426) = lu(k,426) - lu(k,315) * lu(k,416)
         lu(k,427) = - lu(k,316) * lu(k,416)
         lu(k,428) = lu(k,428) - lu(k,317) * lu(k,416)
         lu(k,429) = lu(k,429) - lu(k,318) * lu(k,416)
         lu(k,430) = lu(k,430) - lu(k,319) * lu(k,416)
         lu(k,433) = lu(k,433) - lu(k,320) * lu(k,416)
         lu(k,448) = lu(k,448) - lu(k,311) * lu(k,444)
         lu(k,451) = lu(k,451) - lu(k,312) * lu(k,444)
         lu(k,452) = lu(k,452) - lu(k,313) * lu(k,444)
         lu(k,453) = - lu(k,314) * lu(k,444)
         lu(k,454) = lu(k,454) - lu(k,315) * lu(k,444)
         lu(k,455) = lu(k,455) - lu(k,316) * lu(k,444)
         lu(k,456) = lu(k,456) - lu(k,317) * lu(k,444)
         lu(k,457) = lu(k,457) - lu(k,318) * lu(k,444)
         lu(k,458) = lu(k,458) - lu(k,319) * lu(k,444)
         lu(k,461) = lu(k,461) - lu(k,320) * lu(k,444)
         lu(k,491) = lu(k,491) - lu(k,311) * lu(k,487)
         lu(k,494) = lu(k,494) - lu(k,312) * lu(k,487)
         lu(k,495) = lu(k,495) - lu(k,313) * lu(k,487)
         lu(k,496) = lu(k,496) - lu(k,314) * lu(k,487)
         lu(k,497) = lu(k,497) - lu(k,315) * lu(k,487)
         lu(k,498) = lu(k,498) - lu(k,316) * lu(k,487)
         lu(k,499) = lu(k,499) - lu(k,317) * lu(k,487)
         lu(k,500) = lu(k,500) - lu(k,318) * lu(k,487)
         lu(k,501) = lu(k,501) - lu(k,319) * lu(k,487)
         lu(k,504) = lu(k,504) - lu(k,320) * lu(k,487)
         lu(k,513) = lu(k,513) - lu(k,311) * lu(k,509)
         lu(k,516) = lu(k,516) - lu(k,312) * lu(k,509)
         lu(k,517) = lu(k,517) - lu(k,313) * lu(k,509)
         lu(k,518) = lu(k,518) - lu(k,314) * lu(k,509)
         lu(k,519) = lu(k,519) - lu(k,315) * lu(k,509)
         lu(k,520) = lu(k,520) - lu(k,316) * lu(k,509)
         lu(k,521) = lu(k,521) - lu(k,317) * lu(k,509)
         lu(k,522) = lu(k,522) - lu(k,318) * lu(k,509)
         lu(k,523) = lu(k,523) - lu(k,319) * lu(k,509)
         lu(k,526) = lu(k,526) - lu(k,320) * lu(k,509)
         lu(k,538) = lu(k,538) - lu(k,311) * lu(k,534)
         lu(k,541) = lu(k,541) - lu(k,312) * lu(k,534)
         lu(k,542) = lu(k,542) - lu(k,313) * lu(k,534)
         lu(k,543) = lu(k,543) - lu(k,314) * lu(k,534)
         lu(k,544) = lu(k,544) - lu(k,315) * lu(k,534)
         lu(k,545) = lu(k,545) - lu(k,316) * lu(k,534)
         lu(k,546) = lu(k,546) - lu(k,317) * lu(k,534)
         lu(k,547) = lu(k,547) - lu(k,318) * lu(k,534)
         lu(k,548) = lu(k,548) - lu(k,319) * lu(k,534)
         lu(k,551) = lu(k,551) - lu(k,320) * lu(k,534)
         lu(k,585) = lu(k,585) - lu(k,311) * lu(k,581)
         lu(k,588) = lu(k,588) - lu(k,312) * lu(k,581)
         lu(k,589) = - lu(k,313) * lu(k,581)
         lu(k,590) = - lu(k,314) * lu(k,581)
         lu(k,591) = lu(k,591) - lu(k,315) * lu(k,581)
         lu(k,592) = lu(k,592) - lu(k,316) * lu(k,581)
         lu(k,593) = lu(k,593) - lu(k,317) * lu(k,581)
         lu(k,594) = lu(k,594) - lu(k,318) * lu(k,581)
         lu(k,595) = lu(k,595) - lu(k,319) * lu(k,581)
         lu(k,598) = lu(k,598) - lu(k,320) * lu(k,581)
         lu(k,616) = lu(k,616) - lu(k,311) * lu(k,615)
         lu(k,619) = lu(k,619) - lu(k,312) * lu(k,615)
         lu(k,620) = - lu(k,313) * lu(k,615)
         lu(k,621) = lu(k,621) - lu(k,314) * lu(k,615)
         lu(k,622) = lu(k,622) - lu(k,315) * lu(k,615)
         lu(k,623) = lu(k,623) - lu(k,316) * lu(k,615)
         lu(k,624) = lu(k,624) - lu(k,317) * lu(k,615)
         lu(k,625) = lu(k,625) - lu(k,318) * lu(k,615)
         lu(k,626) = lu(k,626) - lu(k,319) * lu(k,615)
         lu(k,629) = lu(k,629) - lu(k,320) * lu(k,615)
         lu(k,653) = lu(k,653) - lu(k,311) * lu(k,649)
         lu(k,656) = lu(k,656) - lu(k,312) * lu(k,649)
         lu(k,657) = lu(k,657) - lu(k,313) * lu(k,649)
         lu(k,658) = lu(k,658) - lu(k,314) * lu(k,649)
         lu(k,659) = lu(k,659) - lu(k,315) * lu(k,649)
         lu(k,660) = lu(k,660) - lu(k,316) * lu(k,649)
         lu(k,661) = lu(k,661) - lu(k,317) * lu(k,649)
         lu(k,662) = lu(k,662) - lu(k,318) * lu(k,649)
         lu(k,663) = lu(k,663) - lu(k,319) * lu(k,649)
         lu(k,666) = lu(k,666) - lu(k,320) * lu(k,649)
         lu(k,675) = lu(k,675) - lu(k,311) * lu(k,673)
         lu(k,678) = lu(k,678) - lu(k,312) * lu(k,673)
         lu(k,679) = - lu(k,313) * lu(k,673)
         lu(k,680) = lu(k,680) - lu(k,314) * lu(k,673)
         lu(k,681) = lu(k,681) - lu(k,315) * lu(k,673)
         lu(k,682) = lu(k,682) - lu(k,316) * lu(k,673)
         lu(k,683) = lu(k,683) - lu(k,317) * lu(k,673)
         lu(k,684) = lu(k,684) - lu(k,318) * lu(k,673)
         lu(k,685) = lu(k,685) - lu(k,319) * lu(k,673)
         lu(k,688) = lu(k,688) - lu(k,320) * lu(k,673)
         lu(k,703) = lu(k,703) - lu(k,311) * lu(k,699)
         lu(k,706) = lu(k,706) - lu(k,312) * lu(k,699)
         lu(k,707) = - lu(k,313) * lu(k,699)
         lu(k,708) = lu(k,708) - lu(k,314) * lu(k,699)
         lu(k,709) = lu(k,709) - lu(k,315) * lu(k,699)
         lu(k,710) = lu(k,710) - lu(k,316) * lu(k,699)
         lu(k,711) = lu(k,711) - lu(k,317) * lu(k,699)
         lu(k,712) = lu(k,712) - lu(k,318) * lu(k,699)
         lu(k,713) = lu(k,713) - lu(k,319) * lu(k,699)
         lu(k,716) = lu(k,716) - lu(k,320) * lu(k,699)
         lu(k,726) = lu(k,726) - lu(k,311) * lu(k,723)
         lu(k,729) = lu(k,729) - lu(k,312) * lu(k,723)
         lu(k,730) = lu(k,730) - lu(k,313) * lu(k,723)
         lu(k,731) = lu(k,731) - lu(k,314) * lu(k,723)
         lu(k,732) = lu(k,732) - lu(k,315) * lu(k,723)
         lu(k,733) = lu(k,733) - lu(k,316) * lu(k,723)
         lu(k,734) = lu(k,734) - lu(k,317) * lu(k,723)
         lu(k,735) = lu(k,735) - lu(k,318) * lu(k,723)
         lu(k,736) = lu(k,736) - lu(k,319) * lu(k,723)
         lu(k,739) = lu(k,739) - lu(k,320) * lu(k,723)
         lu(k,751) = lu(k,751) - lu(k,311) * lu(k,748)
         lu(k,754) = lu(k,754) - lu(k,312) * lu(k,748)
         lu(k,755) = - lu(k,313) * lu(k,748)
         lu(k,756) = lu(k,756) - lu(k,314) * lu(k,748)
         lu(k,757) = lu(k,757) - lu(k,315) * lu(k,748)
         lu(k,758) = lu(k,758) - lu(k,316) * lu(k,748)
         lu(k,759) = lu(k,759) - lu(k,317) * lu(k,748)
         lu(k,760) = lu(k,760) - lu(k,318) * lu(k,748)
         lu(k,761) = lu(k,761) - lu(k,319) * lu(k,748)
         lu(k,764) = lu(k,764) - lu(k,320) * lu(k,748)
         lu(k,329) = 1._r8 / lu(k,329)
         lu(k,330) = lu(k,330) * lu(k,329)
         lu(k,331) = lu(k,331) * lu(k,329)
         lu(k,332) = lu(k,332) * lu(k,329)
         lu(k,333) = lu(k,333) * lu(k,329)
         lu(k,334) = lu(k,334) * lu(k,329)
         lu(k,335) = lu(k,335) * lu(k,329)
         lu(k,336) = lu(k,336) * lu(k,329)
         lu(k,337) = lu(k,337) * lu(k,329)
         lu(k,338) = lu(k,338) * lu(k,329)
         lu(k,339) = lu(k,339) * lu(k,329)
         lu(k,340) = lu(k,340) * lu(k,329)
         lu(k,341) = lu(k,341) * lu(k,329)
         lu(k,342) = lu(k,342) * lu(k,329)
         lu(k,343) = lu(k,343) * lu(k,329)
         lu(k,344) = lu(k,344) * lu(k,329)
         lu(k,393) = lu(k,393) - lu(k,330) * lu(k,392)
         lu(k,394) = lu(k,394) - lu(k,331) * lu(k,392)
         lu(k,395) = lu(k,395) - lu(k,332) * lu(k,392)
         lu(k,396) = lu(k,396) - lu(k,333) * lu(k,392)
         lu(k,397) = lu(k,397) - lu(k,334) * lu(k,392)
         lu(k,398) = lu(k,398) - lu(k,335) * lu(k,392)
         lu(k,399) = lu(k,399) - lu(k,336) * lu(k,392)
         lu(k,400) = lu(k,400) - lu(k,337) * lu(k,392)
         lu(k,401) = lu(k,401) - lu(k,338) * lu(k,392)
         lu(k,402) = lu(k,402) - lu(k,339) * lu(k,392)
         lu(k,403) = lu(k,403) - lu(k,340) * lu(k,392)
         lu(k,404) = lu(k,404) - lu(k,341) * lu(k,392)
         lu(k,405) = lu(k,405) - lu(k,342) * lu(k,392)
         lu(k,406) = lu(k,406) - lu(k,343) * lu(k,392)
         lu(k,408) = lu(k,408) - lu(k,344) * lu(k,392)
         lu(k,418) = lu(k,418) - lu(k,330) * lu(k,417)
         lu(k,419) = lu(k,419) - lu(k,331) * lu(k,417)
         lu(k,420) = lu(k,420) - lu(k,332) * lu(k,417)
         lu(k,421) = lu(k,421) - lu(k,333) * lu(k,417)
         lu(k,422) = lu(k,422) - lu(k,334) * lu(k,417)
         lu(k,423) = lu(k,423) - lu(k,335) * lu(k,417)
         lu(k,424) = lu(k,424) - lu(k,336) * lu(k,417)
         lu(k,425) = lu(k,425) - lu(k,337) * lu(k,417)
         lu(k,426) = lu(k,426) - lu(k,338) * lu(k,417)
         lu(k,427) = lu(k,427) - lu(k,339) * lu(k,417)
         lu(k,428) = lu(k,428) - lu(k,340) * lu(k,417)
         lu(k,429) = lu(k,429) - lu(k,341) * lu(k,417)
         lu(k,430) = lu(k,430) - lu(k,342) * lu(k,417)
         lu(k,431) = lu(k,431) - lu(k,343) * lu(k,417)
         lu(k,433) = lu(k,433) - lu(k,344) * lu(k,417)
         lu(k,446) = lu(k,446) - lu(k,330) * lu(k,445)
         lu(k,447) = lu(k,447) - lu(k,331) * lu(k,445)
         lu(k,448) = lu(k,448) - lu(k,332) * lu(k,445)
         lu(k,449) = lu(k,449) - lu(k,333) * lu(k,445)
         lu(k,450) = lu(k,450) - lu(k,334) * lu(k,445)
         lu(k,451) = lu(k,451) - lu(k,335) * lu(k,445)
         lu(k,452) = lu(k,452) - lu(k,336) * lu(k,445)
         lu(k,453) = lu(k,453) - lu(k,337) * lu(k,445)
         lu(k,454) = lu(k,454) - lu(k,338) * lu(k,445)
         lu(k,455) = lu(k,455) - lu(k,339) * lu(k,445)
         lu(k,456) = lu(k,456) - lu(k,340) * lu(k,445)
         lu(k,457) = lu(k,457) - lu(k,341) * lu(k,445)
         lu(k,458) = lu(k,458) - lu(k,342) * lu(k,445)
         lu(k,459) = lu(k,459) - lu(k,343) * lu(k,445)
         lu(k,461) = lu(k,461) - lu(k,344) * lu(k,445)
         lu(k,489) = lu(k,489) - lu(k,330) * lu(k,488)
         lu(k,490) = lu(k,490) - lu(k,331) * lu(k,488)
         lu(k,491) = lu(k,491) - lu(k,332) * lu(k,488)
         lu(k,492) = lu(k,492) - lu(k,333) * lu(k,488)
         lu(k,493) = lu(k,493) - lu(k,334) * lu(k,488)
         lu(k,494) = lu(k,494) - lu(k,335) * lu(k,488)
         lu(k,495) = lu(k,495) - lu(k,336) * lu(k,488)
         lu(k,496) = lu(k,496) - lu(k,337) * lu(k,488)
         lu(k,497) = lu(k,497) - lu(k,338) * lu(k,488)
         lu(k,498) = lu(k,498) - lu(k,339) * lu(k,488)
         lu(k,499) = lu(k,499) - lu(k,340) * lu(k,488)
         lu(k,500) = lu(k,500) - lu(k,341) * lu(k,488)
         lu(k,501) = lu(k,501) - lu(k,342) * lu(k,488)
         lu(k,502) = lu(k,502) - lu(k,343) * lu(k,488)
         lu(k,504) = lu(k,504) - lu(k,344) * lu(k,488)
         lu(k,511) = lu(k,511) - lu(k,330) * lu(k,510)
         lu(k,512) = lu(k,512) - lu(k,331) * lu(k,510)
         lu(k,513) = lu(k,513) - lu(k,332) * lu(k,510)
         lu(k,514) = lu(k,514) - lu(k,333) * lu(k,510)
         lu(k,515) = - lu(k,334) * lu(k,510)
         lu(k,516) = lu(k,516) - lu(k,335) * lu(k,510)
         lu(k,517) = lu(k,517) - lu(k,336) * lu(k,510)
         lu(k,518) = lu(k,518) - lu(k,337) * lu(k,510)
         lu(k,519) = lu(k,519) - lu(k,338) * lu(k,510)
         lu(k,520) = lu(k,520) - lu(k,339) * lu(k,510)
         lu(k,521) = lu(k,521) - lu(k,340) * lu(k,510)
         lu(k,522) = lu(k,522) - lu(k,341) * lu(k,510)
         lu(k,523) = lu(k,523) - lu(k,342) * lu(k,510)
         lu(k,524) = lu(k,524) - lu(k,343) * lu(k,510)
         lu(k,526) = lu(k,526) - lu(k,344) * lu(k,510)
         lu(k,536) = lu(k,536) - lu(k,330) * lu(k,535)
         lu(k,537) = lu(k,537) - lu(k,331) * lu(k,535)
         lu(k,538) = lu(k,538) - lu(k,332) * lu(k,535)
         lu(k,539) = lu(k,539) - lu(k,333) * lu(k,535)
         lu(k,540) = lu(k,540) - lu(k,334) * lu(k,535)
         lu(k,541) = lu(k,541) - lu(k,335) * lu(k,535)
         lu(k,542) = lu(k,542) - lu(k,336) * lu(k,535)
         lu(k,543) = lu(k,543) - lu(k,337) * lu(k,535)
         lu(k,544) = lu(k,544) - lu(k,338) * lu(k,535)
         lu(k,545) = lu(k,545) - lu(k,339) * lu(k,535)
         lu(k,546) = lu(k,546) - lu(k,340) * lu(k,535)
         lu(k,547) = lu(k,547) - lu(k,341) * lu(k,535)
         lu(k,548) = lu(k,548) - lu(k,342) * lu(k,535)
         lu(k,549) = lu(k,549) - lu(k,343) * lu(k,535)
         lu(k,551) = lu(k,551) - lu(k,344) * lu(k,535)
         lu(k,557) = lu(k,557) - lu(k,330) * lu(k,556)
         lu(k,558) = lu(k,558) - lu(k,331) * lu(k,556)
         lu(k,559) = lu(k,559) - lu(k,332) * lu(k,556)
         lu(k,560) = lu(k,560) - lu(k,333) * lu(k,556)
         lu(k,561) = - lu(k,334) * lu(k,556)
         lu(k,562) = lu(k,562) - lu(k,335) * lu(k,556)
         lu(k,563) = - lu(k,336) * lu(k,556)
         lu(k,564) = lu(k,564) - lu(k,337) * lu(k,556)
         lu(k,565) = lu(k,565) - lu(k,338) * lu(k,556)
         lu(k,566) = - lu(k,339) * lu(k,556)
         lu(k,567) = lu(k,567) - lu(k,340) * lu(k,556)
         lu(k,568) = lu(k,568) - lu(k,341) * lu(k,556)
         lu(k,569) = lu(k,569) - lu(k,342) * lu(k,556)
         lu(k,570) = lu(k,570) - lu(k,343) * lu(k,556)
         lu(k,572) = lu(k,572) - lu(k,344) * lu(k,556)
         lu(k,583) = lu(k,583) - lu(k,330) * lu(k,582)
         lu(k,584) = lu(k,584) - lu(k,331) * lu(k,582)
         lu(k,585) = lu(k,585) - lu(k,332) * lu(k,582)
         lu(k,586) = lu(k,586) - lu(k,333) * lu(k,582)
         lu(k,587) = lu(k,587) - lu(k,334) * lu(k,582)
         lu(k,588) = lu(k,588) - lu(k,335) * lu(k,582)
         lu(k,589) = lu(k,589) - lu(k,336) * lu(k,582)
         lu(k,590) = lu(k,590) - lu(k,337) * lu(k,582)
         lu(k,591) = lu(k,591) - lu(k,338) * lu(k,582)
         lu(k,592) = lu(k,592) - lu(k,339) * lu(k,582)
         lu(k,593) = lu(k,593) - lu(k,340) * lu(k,582)
         lu(k,594) = lu(k,594) - lu(k,341) * lu(k,582)
         lu(k,595) = lu(k,595) - lu(k,342) * lu(k,582)
         lu(k,596) = lu(k,596) - lu(k,343) * lu(k,582)
         lu(k,598) = lu(k,598) - lu(k,344) * lu(k,582)
         lu(k,651) = lu(k,651) - lu(k,330) * lu(k,650)
         lu(k,652) = lu(k,652) - lu(k,331) * lu(k,650)
         lu(k,653) = lu(k,653) - lu(k,332) * lu(k,650)
         lu(k,654) = lu(k,654) - lu(k,333) * lu(k,650)
         lu(k,655) = lu(k,655) - lu(k,334) * lu(k,650)
         lu(k,656) = lu(k,656) - lu(k,335) * lu(k,650)
         lu(k,657) = lu(k,657) - lu(k,336) * lu(k,650)
         lu(k,658) = lu(k,658) - lu(k,337) * lu(k,650)
         lu(k,659) = lu(k,659) - lu(k,338) * lu(k,650)
         lu(k,660) = lu(k,660) - lu(k,339) * lu(k,650)
         lu(k,661) = lu(k,661) - lu(k,340) * lu(k,650)
         lu(k,662) = lu(k,662) - lu(k,341) * lu(k,650)
         lu(k,663) = lu(k,663) - lu(k,342) * lu(k,650)
         lu(k,664) = lu(k,664) - lu(k,343) * lu(k,650)
         lu(k,666) = lu(k,666) - lu(k,344) * lu(k,650)
         lu(k,701) = lu(k,701) - lu(k,330) * lu(k,700)
         lu(k,702) = lu(k,702) - lu(k,331) * lu(k,700)
         lu(k,703) = lu(k,703) - lu(k,332) * lu(k,700)
         lu(k,704) = lu(k,704) - lu(k,333) * lu(k,700)
         lu(k,705) = lu(k,705) - lu(k,334) * lu(k,700)
         lu(k,706) = lu(k,706) - lu(k,335) * lu(k,700)
         lu(k,707) = lu(k,707) - lu(k,336) * lu(k,700)
         lu(k,708) = lu(k,708) - lu(k,337) * lu(k,700)
         lu(k,709) = lu(k,709) - lu(k,338) * lu(k,700)
         lu(k,710) = lu(k,710) - lu(k,339) * lu(k,700)
         lu(k,711) = lu(k,711) - lu(k,340) * lu(k,700)
         lu(k,712) = lu(k,712) - lu(k,341) * lu(k,700)
         lu(k,713) = lu(k,713) - lu(k,342) * lu(k,700)
         lu(k,714) = lu(k,714) - lu(k,343) * lu(k,700)
         lu(k,716) = lu(k,716) - lu(k,344) * lu(k,700)
      end do
      end subroutine lu_fac08
      subroutine lu_fac09( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,347) = 1._r8 / lu(k,347)
         lu(k,348) = lu(k,348) * lu(k,347)
         lu(k,349) = lu(k,349) * lu(k,347)
         lu(k,350) = lu(k,350) * lu(k,347)
         lu(k,351) = lu(k,351) * lu(k,347)
         lu(k,352) = lu(k,352) * lu(k,347)
         lu(k,353) = lu(k,353) * lu(k,347)
         lu(k,354) = lu(k,354) * lu(k,347)
         lu(k,355) = lu(k,355) * lu(k,347)
         lu(k,356) = lu(k,356) * lu(k,347)
         lu(k,357) = lu(k,357) * lu(k,347)
         lu(k,358) = lu(k,358) * lu(k,347)
         lu(k,359) = lu(k,359) * lu(k,347)
         lu(k,370) = lu(k,370) - lu(k,348) * lu(k,368)
         lu(k,371) = lu(k,371) - lu(k,349) * lu(k,368)
         lu(k,372) = lu(k,372) - lu(k,350) * lu(k,368)
         lu(k,373) = lu(k,373) - lu(k,351) * lu(k,368)
         lu(k,374) = lu(k,374) - lu(k,352) * lu(k,368)
         lu(k,376) = lu(k,376) - lu(k,353) * lu(k,368)
         lu(k,378) = lu(k,378) - lu(k,354) * lu(k,368)
         lu(k,379) = lu(k,379) - lu(k,355) * lu(k,368)
         lu(k,380) = lu(k,380) - lu(k,356) * lu(k,368)
         lu(k,381) = lu(k,381) - lu(k,357) * lu(k,368)
         lu(k,382) = lu(k,382) - lu(k,358) * lu(k,368)
         lu(k,383) = lu(k,383) - lu(k,359) * lu(k,368)
         lu(k,395) = lu(k,395) - lu(k,348) * lu(k,393)
         lu(k,396) = lu(k,396) - lu(k,349) * lu(k,393)
         lu(k,397) = lu(k,397) - lu(k,350) * lu(k,393)
         lu(k,398) = lu(k,398) - lu(k,351) * lu(k,393)
         lu(k,399) = lu(k,399) - lu(k,352) * lu(k,393)
         lu(k,401) = lu(k,401) - lu(k,353) * lu(k,393)
         lu(k,403) = lu(k,403) - lu(k,354) * lu(k,393)
         lu(k,404) = lu(k,404) - lu(k,355) * lu(k,393)
         lu(k,405) = lu(k,405) - lu(k,356) * lu(k,393)
         lu(k,406) = lu(k,406) - lu(k,357) * lu(k,393)
         lu(k,407) = lu(k,407) - lu(k,358) * lu(k,393)
         lu(k,408) = lu(k,408) - lu(k,359) * lu(k,393)
         lu(k,420) = lu(k,420) - lu(k,348) * lu(k,418)
         lu(k,421) = lu(k,421) - lu(k,349) * lu(k,418)
         lu(k,422) = lu(k,422) - lu(k,350) * lu(k,418)
         lu(k,423) = lu(k,423) - lu(k,351) * lu(k,418)
         lu(k,424) = lu(k,424) - lu(k,352) * lu(k,418)
         lu(k,426) = lu(k,426) - lu(k,353) * lu(k,418)
         lu(k,428) = lu(k,428) - lu(k,354) * lu(k,418)
         lu(k,429) = lu(k,429) - lu(k,355) * lu(k,418)
         lu(k,430) = lu(k,430) - lu(k,356) * lu(k,418)
         lu(k,431) = lu(k,431) - lu(k,357) * lu(k,418)
         lu(k,432) = - lu(k,358) * lu(k,418)
         lu(k,433) = lu(k,433) - lu(k,359) * lu(k,418)
         lu(k,448) = lu(k,448) - lu(k,348) * lu(k,446)
         lu(k,449) = lu(k,449) - lu(k,349) * lu(k,446)
         lu(k,450) = lu(k,450) - lu(k,350) * lu(k,446)
         lu(k,451) = lu(k,451) - lu(k,351) * lu(k,446)
         lu(k,452) = lu(k,452) - lu(k,352) * lu(k,446)
         lu(k,454) = lu(k,454) - lu(k,353) * lu(k,446)
         lu(k,456) = lu(k,456) - lu(k,354) * lu(k,446)
         lu(k,457) = lu(k,457) - lu(k,355) * lu(k,446)
         lu(k,458) = lu(k,458) - lu(k,356) * lu(k,446)
         lu(k,459) = lu(k,459) - lu(k,357) * lu(k,446)
         lu(k,460) = lu(k,460) - lu(k,358) * lu(k,446)
         lu(k,461) = lu(k,461) - lu(k,359) * lu(k,446)
         lu(k,491) = lu(k,491) - lu(k,348) * lu(k,489)
         lu(k,492) = lu(k,492) - lu(k,349) * lu(k,489)
         lu(k,493) = lu(k,493) - lu(k,350) * lu(k,489)
         lu(k,494) = lu(k,494) - lu(k,351) * lu(k,489)
         lu(k,495) = lu(k,495) - lu(k,352) * lu(k,489)
         lu(k,497) = lu(k,497) - lu(k,353) * lu(k,489)
         lu(k,499) = lu(k,499) - lu(k,354) * lu(k,489)
         lu(k,500) = lu(k,500) - lu(k,355) * lu(k,489)
         lu(k,501) = lu(k,501) - lu(k,356) * lu(k,489)
         lu(k,502) = lu(k,502) - lu(k,357) * lu(k,489)
         lu(k,503) = lu(k,503) - lu(k,358) * lu(k,489)
         lu(k,504) = lu(k,504) - lu(k,359) * lu(k,489)
         lu(k,513) = lu(k,513) - lu(k,348) * lu(k,511)
         lu(k,514) = lu(k,514) - lu(k,349) * lu(k,511)
         lu(k,515) = lu(k,515) - lu(k,350) * lu(k,511)
         lu(k,516) = lu(k,516) - lu(k,351) * lu(k,511)
         lu(k,517) = lu(k,517) - lu(k,352) * lu(k,511)
         lu(k,519) = lu(k,519) - lu(k,353) * lu(k,511)
         lu(k,521) = lu(k,521) - lu(k,354) * lu(k,511)
         lu(k,522) = lu(k,522) - lu(k,355) * lu(k,511)
         lu(k,523) = lu(k,523) - lu(k,356) * lu(k,511)
         lu(k,524) = lu(k,524) - lu(k,357) * lu(k,511)
         lu(k,525) = - lu(k,358) * lu(k,511)
         lu(k,526) = lu(k,526) - lu(k,359) * lu(k,511)
         lu(k,538) = lu(k,538) - lu(k,348) * lu(k,536)
         lu(k,539) = lu(k,539) - lu(k,349) * lu(k,536)
         lu(k,540) = lu(k,540) - lu(k,350) * lu(k,536)
         lu(k,541) = lu(k,541) - lu(k,351) * lu(k,536)
         lu(k,542) = lu(k,542) - lu(k,352) * lu(k,536)
         lu(k,544) = lu(k,544) - lu(k,353) * lu(k,536)
         lu(k,546) = lu(k,546) - lu(k,354) * lu(k,536)
         lu(k,547) = lu(k,547) - lu(k,355) * lu(k,536)
         lu(k,548) = lu(k,548) - lu(k,356) * lu(k,536)
         lu(k,549) = lu(k,549) - lu(k,357) * lu(k,536)
         lu(k,550) = lu(k,550) - lu(k,358) * lu(k,536)
         lu(k,551) = lu(k,551) - lu(k,359) * lu(k,536)
         lu(k,559) = lu(k,559) - lu(k,348) * lu(k,557)
         lu(k,560) = lu(k,560) - lu(k,349) * lu(k,557)
         lu(k,561) = lu(k,561) - lu(k,350) * lu(k,557)
         lu(k,562) = lu(k,562) - lu(k,351) * lu(k,557)
         lu(k,563) = lu(k,563) - lu(k,352) * lu(k,557)
         lu(k,565) = lu(k,565) - lu(k,353) * lu(k,557)
         lu(k,567) = lu(k,567) - lu(k,354) * lu(k,557)
         lu(k,568) = lu(k,568) - lu(k,355) * lu(k,557)
         lu(k,569) = lu(k,569) - lu(k,356) * lu(k,557)
         lu(k,570) = lu(k,570) - lu(k,357) * lu(k,557)
         lu(k,571) = - lu(k,358) * lu(k,557)
         lu(k,572) = lu(k,572) - lu(k,359) * lu(k,557)
         lu(k,585) = lu(k,585) - lu(k,348) * lu(k,583)
         lu(k,586) = lu(k,586) - lu(k,349) * lu(k,583)
         lu(k,587) = lu(k,587) - lu(k,350) * lu(k,583)
         lu(k,588) = lu(k,588) - lu(k,351) * lu(k,583)
         lu(k,589) = lu(k,589) - lu(k,352) * lu(k,583)
         lu(k,591) = lu(k,591) - lu(k,353) * lu(k,583)
         lu(k,593) = lu(k,593) - lu(k,354) * lu(k,583)
         lu(k,594) = lu(k,594) - lu(k,355) * lu(k,583)
         lu(k,595) = lu(k,595) - lu(k,356) * lu(k,583)
         lu(k,596) = lu(k,596) - lu(k,357) * lu(k,583)
         lu(k,597) = lu(k,597) - lu(k,358) * lu(k,583)
         lu(k,598) = lu(k,598) - lu(k,359) * lu(k,583)
         lu(k,653) = lu(k,653) - lu(k,348) * lu(k,651)
         lu(k,654) = lu(k,654) - lu(k,349) * lu(k,651)
         lu(k,655) = lu(k,655) - lu(k,350) * lu(k,651)
         lu(k,656) = lu(k,656) - lu(k,351) * lu(k,651)
         lu(k,657) = lu(k,657) - lu(k,352) * lu(k,651)
         lu(k,659) = lu(k,659) - lu(k,353) * lu(k,651)
         lu(k,661) = lu(k,661) - lu(k,354) * lu(k,651)
         lu(k,662) = lu(k,662) - lu(k,355) * lu(k,651)
         lu(k,663) = lu(k,663) - lu(k,356) * lu(k,651)
         lu(k,664) = lu(k,664) - lu(k,357) * lu(k,651)
         lu(k,665) = lu(k,665) - lu(k,358) * lu(k,651)
         lu(k,666) = lu(k,666) - lu(k,359) * lu(k,651)
         lu(k,703) = lu(k,703) - lu(k,348) * lu(k,701)
         lu(k,704) = lu(k,704) - lu(k,349) * lu(k,701)
         lu(k,705) = lu(k,705) - lu(k,350) * lu(k,701)
         lu(k,706) = lu(k,706) - lu(k,351) * lu(k,701)
         lu(k,707) = lu(k,707) - lu(k,352) * lu(k,701)
         lu(k,709) = lu(k,709) - lu(k,353) * lu(k,701)
         lu(k,711) = lu(k,711) - lu(k,354) * lu(k,701)
         lu(k,712) = lu(k,712) - lu(k,355) * lu(k,701)
         lu(k,713) = lu(k,713) - lu(k,356) * lu(k,701)
         lu(k,714) = lu(k,714) - lu(k,357) * lu(k,701)
         lu(k,715) = lu(k,715) - lu(k,358) * lu(k,701)
         lu(k,716) = lu(k,716) - lu(k,359) * lu(k,701)
         lu(k,726) = lu(k,726) - lu(k,348) * lu(k,724)
         lu(k,727) = lu(k,727) - lu(k,349) * lu(k,724)
         lu(k,728) = lu(k,728) - lu(k,350) * lu(k,724)
         lu(k,729) = lu(k,729) - lu(k,351) * lu(k,724)
         lu(k,730) = lu(k,730) - lu(k,352) * lu(k,724)
         lu(k,732) = lu(k,732) - lu(k,353) * lu(k,724)
         lu(k,734) = lu(k,734) - lu(k,354) * lu(k,724)
         lu(k,735) = lu(k,735) - lu(k,355) * lu(k,724)
         lu(k,736) = lu(k,736) - lu(k,356) * lu(k,724)
         lu(k,737) = lu(k,737) - lu(k,357) * lu(k,724)
         lu(k,738) = lu(k,738) - lu(k,358) * lu(k,724)
         lu(k,739) = lu(k,739) - lu(k,359) * lu(k,724)
         lu(k,751) = lu(k,751) - lu(k,348) * lu(k,749)
         lu(k,752) = lu(k,752) - lu(k,349) * lu(k,749)
         lu(k,753) = lu(k,753) - lu(k,350) * lu(k,749)
         lu(k,754) = lu(k,754) - lu(k,351) * lu(k,749)
         lu(k,755) = lu(k,755) - lu(k,352) * lu(k,749)
         lu(k,757) = lu(k,757) - lu(k,353) * lu(k,749)
         lu(k,759) = lu(k,759) - lu(k,354) * lu(k,749)
         lu(k,760) = lu(k,760) - lu(k,355) * lu(k,749)
         lu(k,761) = lu(k,761) - lu(k,356) * lu(k,749)
         lu(k,762) = lu(k,762) - lu(k,357) * lu(k,749)
         lu(k,763) = lu(k,763) - lu(k,358) * lu(k,749)
         lu(k,764) = lu(k,764) - lu(k,359) * lu(k,749)
         lu(k,369) = 1._r8 / lu(k,369)
         lu(k,370) = lu(k,370) * lu(k,369)
         lu(k,371) = lu(k,371) * lu(k,369)
         lu(k,372) = lu(k,372) * lu(k,369)
         lu(k,373) = lu(k,373) * lu(k,369)
         lu(k,374) = lu(k,374) * lu(k,369)
         lu(k,375) = lu(k,375) * lu(k,369)
         lu(k,376) = lu(k,376) * lu(k,369)
         lu(k,377) = lu(k,377) * lu(k,369)
         lu(k,378) = lu(k,378) * lu(k,369)
         lu(k,379) = lu(k,379) * lu(k,369)
         lu(k,380) = lu(k,380) * lu(k,369)
         lu(k,381) = lu(k,381) * lu(k,369)
         lu(k,382) = lu(k,382) * lu(k,369)
         lu(k,383) = lu(k,383) * lu(k,369)
         lu(k,395) = lu(k,395) - lu(k,370) * lu(k,394)
         lu(k,396) = lu(k,396) - lu(k,371) * lu(k,394)
         lu(k,397) = lu(k,397) - lu(k,372) * lu(k,394)
         lu(k,398) = lu(k,398) - lu(k,373) * lu(k,394)
         lu(k,399) = lu(k,399) - lu(k,374) * lu(k,394)
         lu(k,400) = lu(k,400) - lu(k,375) * lu(k,394)
         lu(k,401) = lu(k,401) - lu(k,376) * lu(k,394)
         lu(k,402) = lu(k,402) - lu(k,377) * lu(k,394)
         lu(k,403) = lu(k,403) - lu(k,378) * lu(k,394)
         lu(k,404) = lu(k,404) - lu(k,379) * lu(k,394)
         lu(k,405) = lu(k,405) - lu(k,380) * lu(k,394)
         lu(k,406) = lu(k,406) - lu(k,381) * lu(k,394)
         lu(k,407) = lu(k,407) - lu(k,382) * lu(k,394)
         lu(k,408) = lu(k,408) - lu(k,383) * lu(k,394)
         lu(k,420) = lu(k,420) - lu(k,370) * lu(k,419)
         lu(k,421) = lu(k,421) - lu(k,371) * lu(k,419)
         lu(k,422) = lu(k,422) - lu(k,372) * lu(k,419)
         lu(k,423) = lu(k,423) - lu(k,373) * lu(k,419)
         lu(k,424) = lu(k,424) - lu(k,374) * lu(k,419)
         lu(k,425) = lu(k,425) - lu(k,375) * lu(k,419)
         lu(k,426) = lu(k,426) - lu(k,376) * lu(k,419)
         lu(k,427) = lu(k,427) - lu(k,377) * lu(k,419)
         lu(k,428) = lu(k,428) - lu(k,378) * lu(k,419)
         lu(k,429) = lu(k,429) - lu(k,379) * lu(k,419)
         lu(k,430) = lu(k,430) - lu(k,380) * lu(k,419)
         lu(k,431) = lu(k,431) - lu(k,381) * lu(k,419)
         lu(k,432) = lu(k,432) - lu(k,382) * lu(k,419)
         lu(k,433) = lu(k,433) - lu(k,383) * lu(k,419)
         lu(k,448) = lu(k,448) - lu(k,370) * lu(k,447)
         lu(k,449) = lu(k,449) - lu(k,371) * lu(k,447)
         lu(k,450) = lu(k,450) - lu(k,372) * lu(k,447)
         lu(k,451) = lu(k,451) - lu(k,373) * lu(k,447)
         lu(k,452) = lu(k,452) - lu(k,374) * lu(k,447)
         lu(k,453) = lu(k,453) - lu(k,375) * lu(k,447)
         lu(k,454) = lu(k,454) - lu(k,376) * lu(k,447)
         lu(k,455) = lu(k,455) - lu(k,377) * lu(k,447)
         lu(k,456) = lu(k,456) - lu(k,378) * lu(k,447)
         lu(k,457) = lu(k,457) - lu(k,379) * lu(k,447)
         lu(k,458) = lu(k,458) - lu(k,380) * lu(k,447)
         lu(k,459) = lu(k,459) - lu(k,381) * lu(k,447)
         lu(k,460) = lu(k,460) - lu(k,382) * lu(k,447)
         lu(k,461) = lu(k,461) - lu(k,383) * lu(k,447)
         lu(k,491) = lu(k,491) - lu(k,370) * lu(k,490)
         lu(k,492) = lu(k,492) - lu(k,371) * lu(k,490)
         lu(k,493) = lu(k,493) - lu(k,372) * lu(k,490)
         lu(k,494) = lu(k,494) - lu(k,373) * lu(k,490)
         lu(k,495) = lu(k,495) - lu(k,374) * lu(k,490)
         lu(k,496) = lu(k,496) - lu(k,375) * lu(k,490)
         lu(k,497) = lu(k,497) - lu(k,376) * lu(k,490)
         lu(k,498) = lu(k,498) - lu(k,377) * lu(k,490)
         lu(k,499) = lu(k,499) - lu(k,378) * lu(k,490)
         lu(k,500) = lu(k,500) - lu(k,379) * lu(k,490)
         lu(k,501) = lu(k,501) - lu(k,380) * lu(k,490)
         lu(k,502) = lu(k,502) - lu(k,381) * lu(k,490)
         lu(k,503) = lu(k,503) - lu(k,382) * lu(k,490)
         lu(k,504) = lu(k,504) - lu(k,383) * lu(k,490)
         lu(k,513) = lu(k,513) - lu(k,370) * lu(k,512)
         lu(k,514) = lu(k,514) - lu(k,371) * lu(k,512)
         lu(k,515) = lu(k,515) - lu(k,372) * lu(k,512)
         lu(k,516) = lu(k,516) - lu(k,373) * lu(k,512)
         lu(k,517) = lu(k,517) - lu(k,374) * lu(k,512)
         lu(k,518) = lu(k,518) - lu(k,375) * lu(k,512)
         lu(k,519) = lu(k,519) - lu(k,376) * lu(k,512)
         lu(k,520) = lu(k,520) - lu(k,377) * lu(k,512)
         lu(k,521) = lu(k,521) - lu(k,378) * lu(k,512)
         lu(k,522) = lu(k,522) - lu(k,379) * lu(k,512)
         lu(k,523) = lu(k,523) - lu(k,380) * lu(k,512)
         lu(k,524) = lu(k,524) - lu(k,381) * lu(k,512)
         lu(k,525) = lu(k,525) - lu(k,382) * lu(k,512)
         lu(k,526) = lu(k,526) - lu(k,383) * lu(k,512)
         lu(k,538) = lu(k,538) - lu(k,370) * lu(k,537)
         lu(k,539) = lu(k,539) - lu(k,371) * lu(k,537)
         lu(k,540) = lu(k,540) - lu(k,372) * lu(k,537)
         lu(k,541) = lu(k,541) - lu(k,373) * lu(k,537)
         lu(k,542) = lu(k,542) - lu(k,374) * lu(k,537)
         lu(k,543) = lu(k,543) - lu(k,375) * lu(k,537)
         lu(k,544) = lu(k,544) - lu(k,376) * lu(k,537)
         lu(k,545) = lu(k,545) - lu(k,377) * lu(k,537)
         lu(k,546) = lu(k,546) - lu(k,378) * lu(k,537)
         lu(k,547) = lu(k,547) - lu(k,379) * lu(k,537)
         lu(k,548) = lu(k,548) - lu(k,380) * lu(k,537)
         lu(k,549) = lu(k,549) - lu(k,381) * lu(k,537)
         lu(k,550) = lu(k,550) - lu(k,382) * lu(k,537)
         lu(k,551) = lu(k,551) - lu(k,383) * lu(k,537)
         lu(k,559) = lu(k,559) - lu(k,370) * lu(k,558)
         lu(k,560) = lu(k,560) - lu(k,371) * lu(k,558)
         lu(k,561) = lu(k,561) - lu(k,372) * lu(k,558)
         lu(k,562) = lu(k,562) - lu(k,373) * lu(k,558)
         lu(k,563) = lu(k,563) - lu(k,374) * lu(k,558)
         lu(k,564) = lu(k,564) - lu(k,375) * lu(k,558)
         lu(k,565) = lu(k,565) - lu(k,376) * lu(k,558)
         lu(k,566) = lu(k,566) - lu(k,377) * lu(k,558)
         lu(k,567) = lu(k,567) - lu(k,378) * lu(k,558)
         lu(k,568) = lu(k,568) - lu(k,379) * lu(k,558)
         lu(k,569) = lu(k,569) - lu(k,380) * lu(k,558)
         lu(k,570) = lu(k,570) - lu(k,381) * lu(k,558)
         lu(k,571) = lu(k,571) - lu(k,382) * lu(k,558)
         lu(k,572) = lu(k,572) - lu(k,383) * lu(k,558)
         lu(k,585) = lu(k,585) - lu(k,370) * lu(k,584)
         lu(k,586) = lu(k,586) - lu(k,371) * lu(k,584)
         lu(k,587) = lu(k,587) - lu(k,372) * lu(k,584)
         lu(k,588) = lu(k,588) - lu(k,373) * lu(k,584)
         lu(k,589) = lu(k,589) - lu(k,374) * lu(k,584)
         lu(k,590) = lu(k,590) - lu(k,375) * lu(k,584)
         lu(k,591) = lu(k,591) - lu(k,376) * lu(k,584)
         lu(k,592) = lu(k,592) - lu(k,377) * lu(k,584)
         lu(k,593) = lu(k,593) - lu(k,378) * lu(k,584)
         lu(k,594) = lu(k,594) - lu(k,379) * lu(k,584)
         lu(k,595) = lu(k,595) - lu(k,380) * lu(k,584)
         lu(k,596) = lu(k,596) - lu(k,381) * lu(k,584)
         lu(k,597) = lu(k,597) - lu(k,382) * lu(k,584)
         lu(k,598) = lu(k,598) - lu(k,383) * lu(k,584)
         lu(k,653) = lu(k,653) - lu(k,370) * lu(k,652)
         lu(k,654) = lu(k,654) - lu(k,371) * lu(k,652)
         lu(k,655) = lu(k,655) - lu(k,372) * lu(k,652)
         lu(k,656) = lu(k,656) - lu(k,373) * lu(k,652)
         lu(k,657) = lu(k,657) - lu(k,374) * lu(k,652)
         lu(k,658) = lu(k,658) - lu(k,375) * lu(k,652)
         lu(k,659) = lu(k,659) - lu(k,376) * lu(k,652)
         lu(k,660) = lu(k,660) - lu(k,377) * lu(k,652)
         lu(k,661) = lu(k,661) - lu(k,378) * lu(k,652)
         lu(k,662) = lu(k,662) - lu(k,379) * lu(k,652)
         lu(k,663) = lu(k,663) - lu(k,380) * lu(k,652)
         lu(k,664) = lu(k,664) - lu(k,381) * lu(k,652)
         lu(k,665) = lu(k,665) - lu(k,382) * lu(k,652)
         lu(k,666) = lu(k,666) - lu(k,383) * lu(k,652)
         lu(k,675) = lu(k,675) - lu(k,370) * lu(k,674)
         lu(k,676) = lu(k,676) - lu(k,371) * lu(k,674)
         lu(k,677) = lu(k,677) - lu(k,372) * lu(k,674)
         lu(k,678) = lu(k,678) - lu(k,373) * lu(k,674)
         lu(k,679) = lu(k,679) - lu(k,374) * lu(k,674)
         lu(k,680) = lu(k,680) - lu(k,375) * lu(k,674)
         lu(k,681) = lu(k,681) - lu(k,376) * lu(k,674)
         lu(k,682) = lu(k,682) - lu(k,377) * lu(k,674)
         lu(k,683) = lu(k,683) - lu(k,378) * lu(k,674)
         lu(k,684) = lu(k,684) - lu(k,379) * lu(k,674)
         lu(k,685) = lu(k,685) - lu(k,380) * lu(k,674)
         lu(k,686) = lu(k,686) - lu(k,381) * lu(k,674)
         lu(k,687) = lu(k,687) - lu(k,382) * lu(k,674)
         lu(k,688) = lu(k,688) - lu(k,383) * lu(k,674)
         lu(k,703) = lu(k,703) - lu(k,370) * lu(k,702)
         lu(k,704) = lu(k,704) - lu(k,371) * lu(k,702)
         lu(k,705) = lu(k,705) - lu(k,372) * lu(k,702)
         lu(k,706) = lu(k,706) - lu(k,373) * lu(k,702)
         lu(k,707) = lu(k,707) - lu(k,374) * lu(k,702)
         lu(k,708) = lu(k,708) - lu(k,375) * lu(k,702)
         lu(k,709) = lu(k,709) - lu(k,376) * lu(k,702)
         lu(k,710) = lu(k,710) - lu(k,377) * lu(k,702)
         lu(k,711) = lu(k,711) - lu(k,378) * lu(k,702)
         lu(k,712) = lu(k,712) - lu(k,379) * lu(k,702)
         lu(k,713) = lu(k,713) - lu(k,380) * lu(k,702)
         lu(k,714) = lu(k,714) - lu(k,381) * lu(k,702)
         lu(k,715) = lu(k,715) - lu(k,382) * lu(k,702)
         lu(k,716) = lu(k,716) - lu(k,383) * lu(k,702)
         lu(k,726) = lu(k,726) - lu(k,370) * lu(k,725)
         lu(k,727) = lu(k,727) - lu(k,371) * lu(k,725)
         lu(k,728) = lu(k,728) - lu(k,372) * lu(k,725)
         lu(k,729) = lu(k,729) - lu(k,373) * lu(k,725)
         lu(k,730) = lu(k,730) - lu(k,374) * lu(k,725)
         lu(k,731) = lu(k,731) - lu(k,375) * lu(k,725)
         lu(k,732) = lu(k,732) - lu(k,376) * lu(k,725)
         lu(k,733) = lu(k,733) - lu(k,377) * lu(k,725)
         lu(k,734) = lu(k,734) - lu(k,378) * lu(k,725)
         lu(k,735) = lu(k,735) - lu(k,379) * lu(k,725)
         lu(k,736) = lu(k,736) - lu(k,380) * lu(k,725)
         lu(k,737) = lu(k,737) - lu(k,381) * lu(k,725)
         lu(k,738) = lu(k,738) - lu(k,382) * lu(k,725)
         lu(k,739) = lu(k,739) - lu(k,383) * lu(k,725)
         lu(k,751) = lu(k,751) - lu(k,370) * lu(k,750)
         lu(k,752) = lu(k,752) - lu(k,371) * lu(k,750)
         lu(k,753) = lu(k,753) - lu(k,372) * lu(k,750)
         lu(k,754) = lu(k,754) - lu(k,373) * lu(k,750)
         lu(k,755) = lu(k,755) - lu(k,374) * lu(k,750)
         lu(k,756) = lu(k,756) - lu(k,375) * lu(k,750)
         lu(k,757) = lu(k,757) - lu(k,376) * lu(k,750)
         lu(k,758) = lu(k,758) - lu(k,377) * lu(k,750)
         lu(k,759) = lu(k,759) - lu(k,378) * lu(k,750)
         lu(k,760) = lu(k,760) - lu(k,379) * lu(k,750)
         lu(k,761) = lu(k,761) - lu(k,380) * lu(k,750)
         lu(k,762) = lu(k,762) - lu(k,381) * lu(k,750)
         lu(k,763) = lu(k,763) - lu(k,382) * lu(k,750)
         lu(k,764) = lu(k,764) - lu(k,383) * lu(k,750)
         lu(k,395) = 1._r8 / lu(k,395)
         lu(k,396) = lu(k,396) * lu(k,395)
         lu(k,397) = lu(k,397) * lu(k,395)
         lu(k,398) = lu(k,398) * lu(k,395)
         lu(k,399) = lu(k,399) * lu(k,395)
         lu(k,400) = lu(k,400) * lu(k,395)
         lu(k,401) = lu(k,401) * lu(k,395)
         lu(k,402) = lu(k,402) * lu(k,395)
         lu(k,403) = lu(k,403) * lu(k,395)
         lu(k,404) = lu(k,404) * lu(k,395)
         lu(k,405) = lu(k,405) * lu(k,395)
         lu(k,406) = lu(k,406) * lu(k,395)
         lu(k,407) = lu(k,407) * lu(k,395)
         lu(k,408) = lu(k,408) * lu(k,395)
         lu(k,421) = lu(k,421) - lu(k,396) * lu(k,420)
         lu(k,422) = lu(k,422) - lu(k,397) * lu(k,420)
         lu(k,423) = lu(k,423) - lu(k,398) * lu(k,420)
         lu(k,424) = lu(k,424) - lu(k,399) * lu(k,420)
         lu(k,425) = lu(k,425) - lu(k,400) * lu(k,420)
         lu(k,426) = lu(k,426) - lu(k,401) * lu(k,420)
         lu(k,427) = lu(k,427) - lu(k,402) * lu(k,420)
         lu(k,428) = lu(k,428) - lu(k,403) * lu(k,420)
         lu(k,429) = lu(k,429) - lu(k,404) * lu(k,420)
         lu(k,430) = lu(k,430) - lu(k,405) * lu(k,420)
         lu(k,431) = lu(k,431) - lu(k,406) * lu(k,420)
         lu(k,432) = lu(k,432) - lu(k,407) * lu(k,420)
         lu(k,433) = lu(k,433) - lu(k,408) * lu(k,420)
         lu(k,449) = lu(k,449) - lu(k,396) * lu(k,448)
         lu(k,450) = lu(k,450) - lu(k,397) * lu(k,448)
         lu(k,451) = lu(k,451) - lu(k,398) * lu(k,448)
         lu(k,452) = lu(k,452) - lu(k,399) * lu(k,448)
         lu(k,453) = lu(k,453) - lu(k,400) * lu(k,448)
         lu(k,454) = lu(k,454) - lu(k,401) * lu(k,448)
         lu(k,455) = lu(k,455) - lu(k,402) * lu(k,448)
         lu(k,456) = lu(k,456) - lu(k,403) * lu(k,448)
         lu(k,457) = lu(k,457) - lu(k,404) * lu(k,448)
         lu(k,458) = lu(k,458) - lu(k,405) * lu(k,448)
         lu(k,459) = lu(k,459) - lu(k,406) * lu(k,448)
         lu(k,460) = lu(k,460) - lu(k,407) * lu(k,448)
         lu(k,461) = lu(k,461) - lu(k,408) * lu(k,448)
         lu(k,492) = lu(k,492) - lu(k,396) * lu(k,491)
         lu(k,493) = lu(k,493) - lu(k,397) * lu(k,491)
         lu(k,494) = lu(k,494) - lu(k,398) * lu(k,491)
         lu(k,495) = lu(k,495) - lu(k,399) * lu(k,491)
         lu(k,496) = lu(k,496) - lu(k,400) * lu(k,491)
         lu(k,497) = lu(k,497) - lu(k,401) * lu(k,491)
         lu(k,498) = lu(k,498) - lu(k,402) * lu(k,491)
         lu(k,499) = lu(k,499) - lu(k,403) * lu(k,491)
         lu(k,500) = lu(k,500) - lu(k,404) * lu(k,491)
         lu(k,501) = lu(k,501) - lu(k,405) * lu(k,491)
         lu(k,502) = lu(k,502) - lu(k,406) * lu(k,491)
         lu(k,503) = lu(k,503) - lu(k,407) * lu(k,491)
         lu(k,504) = lu(k,504) - lu(k,408) * lu(k,491)
         lu(k,514) = lu(k,514) - lu(k,396) * lu(k,513)
         lu(k,515) = lu(k,515) - lu(k,397) * lu(k,513)
         lu(k,516) = lu(k,516) - lu(k,398) * lu(k,513)
         lu(k,517) = lu(k,517) - lu(k,399) * lu(k,513)
         lu(k,518) = lu(k,518) - lu(k,400) * lu(k,513)
         lu(k,519) = lu(k,519) - lu(k,401) * lu(k,513)
         lu(k,520) = lu(k,520) - lu(k,402) * lu(k,513)
         lu(k,521) = lu(k,521) - lu(k,403) * lu(k,513)
         lu(k,522) = lu(k,522) - lu(k,404) * lu(k,513)
         lu(k,523) = lu(k,523) - lu(k,405) * lu(k,513)
         lu(k,524) = lu(k,524) - lu(k,406) * lu(k,513)
         lu(k,525) = lu(k,525) - lu(k,407) * lu(k,513)
         lu(k,526) = lu(k,526) - lu(k,408) * lu(k,513)
         lu(k,539) = lu(k,539) - lu(k,396) * lu(k,538)
         lu(k,540) = lu(k,540) - lu(k,397) * lu(k,538)
         lu(k,541) = lu(k,541) - lu(k,398) * lu(k,538)
         lu(k,542) = lu(k,542) - lu(k,399) * lu(k,538)
         lu(k,543) = lu(k,543) - lu(k,400) * lu(k,538)
         lu(k,544) = lu(k,544) - lu(k,401) * lu(k,538)
         lu(k,545) = lu(k,545) - lu(k,402) * lu(k,538)
         lu(k,546) = lu(k,546) - lu(k,403) * lu(k,538)
         lu(k,547) = lu(k,547) - lu(k,404) * lu(k,538)
         lu(k,548) = lu(k,548) - lu(k,405) * lu(k,538)
         lu(k,549) = lu(k,549) - lu(k,406) * lu(k,538)
         lu(k,550) = lu(k,550) - lu(k,407) * lu(k,538)
         lu(k,551) = lu(k,551) - lu(k,408) * lu(k,538)
         lu(k,560) = lu(k,560) - lu(k,396) * lu(k,559)
         lu(k,561) = lu(k,561) - lu(k,397) * lu(k,559)
         lu(k,562) = lu(k,562) - lu(k,398) * lu(k,559)
         lu(k,563) = lu(k,563) - lu(k,399) * lu(k,559)
         lu(k,564) = lu(k,564) - lu(k,400) * lu(k,559)
         lu(k,565) = lu(k,565) - lu(k,401) * lu(k,559)
         lu(k,566) = lu(k,566) - lu(k,402) * lu(k,559)
         lu(k,567) = lu(k,567) - lu(k,403) * lu(k,559)
         lu(k,568) = lu(k,568) - lu(k,404) * lu(k,559)
         lu(k,569) = lu(k,569) - lu(k,405) * lu(k,559)
         lu(k,570) = lu(k,570) - lu(k,406) * lu(k,559)
         lu(k,571) = lu(k,571) - lu(k,407) * lu(k,559)
         lu(k,572) = lu(k,572) - lu(k,408) * lu(k,559)
         lu(k,586) = lu(k,586) - lu(k,396) * lu(k,585)
         lu(k,587) = lu(k,587) - lu(k,397) * lu(k,585)
         lu(k,588) = lu(k,588) - lu(k,398) * lu(k,585)
         lu(k,589) = lu(k,589) - lu(k,399) * lu(k,585)
         lu(k,590) = lu(k,590) - lu(k,400) * lu(k,585)
         lu(k,591) = lu(k,591) - lu(k,401) * lu(k,585)
         lu(k,592) = lu(k,592) - lu(k,402) * lu(k,585)
         lu(k,593) = lu(k,593) - lu(k,403) * lu(k,585)
         lu(k,594) = lu(k,594) - lu(k,404) * lu(k,585)
         lu(k,595) = lu(k,595) - lu(k,405) * lu(k,585)
         lu(k,596) = lu(k,596) - lu(k,406) * lu(k,585)
         lu(k,597) = lu(k,597) - lu(k,407) * lu(k,585)
         lu(k,598) = lu(k,598) - lu(k,408) * lu(k,585)
         lu(k,617) = lu(k,617) - lu(k,396) * lu(k,616)
         lu(k,618) = lu(k,618) - lu(k,397) * lu(k,616)
         lu(k,619) = lu(k,619) - lu(k,398) * lu(k,616)
         lu(k,620) = lu(k,620) - lu(k,399) * lu(k,616)
         lu(k,621) = lu(k,621) - lu(k,400) * lu(k,616)
         lu(k,622) = lu(k,622) - lu(k,401) * lu(k,616)
         lu(k,623) = lu(k,623) - lu(k,402) * lu(k,616)
         lu(k,624) = lu(k,624) - lu(k,403) * lu(k,616)
         lu(k,625) = lu(k,625) - lu(k,404) * lu(k,616)
         lu(k,626) = lu(k,626) - lu(k,405) * lu(k,616)
         lu(k,627) = lu(k,627) - lu(k,406) * lu(k,616)
         lu(k,628) = lu(k,628) - lu(k,407) * lu(k,616)
         lu(k,629) = lu(k,629) - lu(k,408) * lu(k,616)
         lu(k,654) = lu(k,654) - lu(k,396) * lu(k,653)
         lu(k,655) = lu(k,655) - lu(k,397) * lu(k,653)
         lu(k,656) = lu(k,656) - lu(k,398) * lu(k,653)
         lu(k,657) = lu(k,657) - lu(k,399) * lu(k,653)
         lu(k,658) = lu(k,658) - lu(k,400) * lu(k,653)
         lu(k,659) = lu(k,659) - lu(k,401) * lu(k,653)
         lu(k,660) = lu(k,660) - lu(k,402) * lu(k,653)
         lu(k,661) = lu(k,661) - lu(k,403) * lu(k,653)
         lu(k,662) = lu(k,662) - lu(k,404) * lu(k,653)
         lu(k,663) = lu(k,663) - lu(k,405) * lu(k,653)
         lu(k,664) = lu(k,664) - lu(k,406) * lu(k,653)
         lu(k,665) = lu(k,665) - lu(k,407) * lu(k,653)
         lu(k,666) = lu(k,666) - lu(k,408) * lu(k,653)
         lu(k,676) = lu(k,676) - lu(k,396) * lu(k,675)
         lu(k,677) = lu(k,677) - lu(k,397) * lu(k,675)
         lu(k,678) = lu(k,678) - lu(k,398) * lu(k,675)
         lu(k,679) = lu(k,679) - lu(k,399) * lu(k,675)
         lu(k,680) = lu(k,680) - lu(k,400) * lu(k,675)
         lu(k,681) = lu(k,681) - lu(k,401) * lu(k,675)
         lu(k,682) = lu(k,682) - lu(k,402) * lu(k,675)
         lu(k,683) = lu(k,683) - lu(k,403) * lu(k,675)
         lu(k,684) = lu(k,684) - lu(k,404) * lu(k,675)
         lu(k,685) = lu(k,685) - lu(k,405) * lu(k,675)
         lu(k,686) = lu(k,686) - lu(k,406) * lu(k,675)
         lu(k,687) = lu(k,687) - lu(k,407) * lu(k,675)
         lu(k,688) = lu(k,688) - lu(k,408) * lu(k,675)
         lu(k,704) = lu(k,704) - lu(k,396) * lu(k,703)
         lu(k,705) = lu(k,705) - lu(k,397) * lu(k,703)
         lu(k,706) = lu(k,706) - lu(k,398) * lu(k,703)
         lu(k,707) = lu(k,707) - lu(k,399) * lu(k,703)
         lu(k,708) = lu(k,708) - lu(k,400) * lu(k,703)
         lu(k,709) = lu(k,709) - lu(k,401) * lu(k,703)
         lu(k,710) = lu(k,710) - lu(k,402) * lu(k,703)
         lu(k,711) = lu(k,711) - lu(k,403) * lu(k,703)
         lu(k,712) = lu(k,712) - lu(k,404) * lu(k,703)
         lu(k,713) = lu(k,713) - lu(k,405) * lu(k,703)
         lu(k,714) = lu(k,714) - lu(k,406) * lu(k,703)
         lu(k,715) = lu(k,715) - lu(k,407) * lu(k,703)
         lu(k,716) = lu(k,716) - lu(k,408) * lu(k,703)
         lu(k,727) = lu(k,727) - lu(k,396) * lu(k,726)
         lu(k,728) = lu(k,728) - lu(k,397) * lu(k,726)
         lu(k,729) = lu(k,729) - lu(k,398) * lu(k,726)
         lu(k,730) = lu(k,730) - lu(k,399) * lu(k,726)
         lu(k,731) = lu(k,731) - lu(k,400) * lu(k,726)
         lu(k,732) = lu(k,732) - lu(k,401) * lu(k,726)
         lu(k,733) = lu(k,733) - lu(k,402) * lu(k,726)
         lu(k,734) = lu(k,734) - lu(k,403) * lu(k,726)
         lu(k,735) = lu(k,735) - lu(k,404) * lu(k,726)
         lu(k,736) = lu(k,736) - lu(k,405) * lu(k,726)
         lu(k,737) = lu(k,737) - lu(k,406) * lu(k,726)
         lu(k,738) = lu(k,738) - lu(k,407) * lu(k,726)
         lu(k,739) = lu(k,739) - lu(k,408) * lu(k,726)
         lu(k,752) = lu(k,752) - lu(k,396) * lu(k,751)
         lu(k,753) = lu(k,753) - lu(k,397) * lu(k,751)
         lu(k,754) = lu(k,754) - lu(k,398) * lu(k,751)
         lu(k,755) = lu(k,755) - lu(k,399) * lu(k,751)
         lu(k,756) = lu(k,756) - lu(k,400) * lu(k,751)
         lu(k,757) = lu(k,757) - lu(k,401) * lu(k,751)
         lu(k,758) = lu(k,758) - lu(k,402) * lu(k,751)
         lu(k,759) = lu(k,759) - lu(k,403) * lu(k,751)
         lu(k,760) = lu(k,760) - lu(k,404) * lu(k,751)
         lu(k,761) = lu(k,761) - lu(k,405) * lu(k,751)
         lu(k,762) = lu(k,762) - lu(k,406) * lu(k,751)
         lu(k,763) = lu(k,763) - lu(k,407) * lu(k,751)
         lu(k,764) = lu(k,764) - lu(k,408) * lu(k,751)
         lu(k,421) = 1._r8 / lu(k,421)
         lu(k,422) = lu(k,422) * lu(k,421)
         lu(k,423) = lu(k,423) * lu(k,421)
         lu(k,424) = lu(k,424) * lu(k,421)
         lu(k,425) = lu(k,425) * lu(k,421)
         lu(k,426) = lu(k,426) * lu(k,421)
         lu(k,427) = lu(k,427) * lu(k,421)
         lu(k,428) = lu(k,428) * lu(k,421)
         lu(k,429) = lu(k,429) * lu(k,421)
         lu(k,430) = lu(k,430) * lu(k,421)
         lu(k,431) = lu(k,431) * lu(k,421)
         lu(k,432) = lu(k,432) * lu(k,421)
         lu(k,433) = lu(k,433) * lu(k,421)
         lu(k,450) = lu(k,450) - lu(k,422) * lu(k,449)
         lu(k,451) = lu(k,451) - lu(k,423) * lu(k,449)
         lu(k,452) = lu(k,452) - lu(k,424) * lu(k,449)
         lu(k,453) = lu(k,453) - lu(k,425) * lu(k,449)
         lu(k,454) = lu(k,454) - lu(k,426) * lu(k,449)
         lu(k,455) = lu(k,455) - lu(k,427) * lu(k,449)
         lu(k,456) = lu(k,456) - lu(k,428) * lu(k,449)
         lu(k,457) = lu(k,457) - lu(k,429) * lu(k,449)
         lu(k,458) = lu(k,458) - lu(k,430) * lu(k,449)
         lu(k,459) = lu(k,459) - lu(k,431) * lu(k,449)
         lu(k,460) = lu(k,460) - lu(k,432) * lu(k,449)
         lu(k,461) = lu(k,461) - lu(k,433) * lu(k,449)
         lu(k,493) = lu(k,493) - lu(k,422) * lu(k,492)
         lu(k,494) = lu(k,494) - lu(k,423) * lu(k,492)
         lu(k,495) = lu(k,495) - lu(k,424) * lu(k,492)
         lu(k,496) = lu(k,496) - lu(k,425) * lu(k,492)
         lu(k,497) = lu(k,497) - lu(k,426) * lu(k,492)
         lu(k,498) = lu(k,498) - lu(k,427) * lu(k,492)
         lu(k,499) = lu(k,499) - lu(k,428) * lu(k,492)
         lu(k,500) = lu(k,500) - lu(k,429) * lu(k,492)
         lu(k,501) = lu(k,501) - lu(k,430) * lu(k,492)
         lu(k,502) = lu(k,502) - lu(k,431) * lu(k,492)
         lu(k,503) = lu(k,503) - lu(k,432) * lu(k,492)
         lu(k,504) = lu(k,504) - lu(k,433) * lu(k,492)
         lu(k,515) = lu(k,515) - lu(k,422) * lu(k,514)
         lu(k,516) = lu(k,516) - lu(k,423) * lu(k,514)
         lu(k,517) = lu(k,517) - lu(k,424) * lu(k,514)
         lu(k,518) = lu(k,518) - lu(k,425) * lu(k,514)
         lu(k,519) = lu(k,519) - lu(k,426) * lu(k,514)
         lu(k,520) = lu(k,520) - lu(k,427) * lu(k,514)
         lu(k,521) = lu(k,521) - lu(k,428) * lu(k,514)
         lu(k,522) = lu(k,522) - lu(k,429) * lu(k,514)
         lu(k,523) = lu(k,523) - lu(k,430) * lu(k,514)
         lu(k,524) = lu(k,524) - lu(k,431) * lu(k,514)
         lu(k,525) = lu(k,525) - lu(k,432) * lu(k,514)
         lu(k,526) = lu(k,526) - lu(k,433) * lu(k,514)
         lu(k,540) = lu(k,540) - lu(k,422) * lu(k,539)
         lu(k,541) = lu(k,541) - lu(k,423) * lu(k,539)
         lu(k,542) = lu(k,542) - lu(k,424) * lu(k,539)
         lu(k,543) = lu(k,543) - lu(k,425) * lu(k,539)
         lu(k,544) = lu(k,544) - lu(k,426) * lu(k,539)
         lu(k,545) = lu(k,545) - lu(k,427) * lu(k,539)
         lu(k,546) = lu(k,546) - lu(k,428) * lu(k,539)
         lu(k,547) = lu(k,547) - lu(k,429) * lu(k,539)
         lu(k,548) = lu(k,548) - lu(k,430) * lu(k,539)
         lu(k,549) = lu(k,549) - lu(k,431) * lu(k,539)
         lu(k,550) = lu(k,550) - lu(k,432) * lu(k,539)
         lu(k,551) = lu(k,551) - lu(k,433) * lu(k,539)
         lu(k,561) = lu(k,561) - lu(k,422) * lu(k,560)
         lu(k,562) = lu(k,562) - lu(k,423) * lu(k,560)
         lu(k,563) = lu(k,563) - lu(k,424) * lu(k,560)
         lu(k,564) = lu(k,564) - lu(k,425) * lu(k,560)
         lu(k,565) = lu(k,565) - lu(k,426) * lu(k,560)
         lu(k,566) = lu(k,566) - lu(k,427) * lu(k,560)
         lu(k,567) = lu(k,567) - lu(k,428) * lu(k,560)
         lu(k,568) = lu(k,568) - lu(k,429) * lu(k,560)
         lu(k,569) = lu(k,569) - lu(k,430) * lu(k,560)
         lu(k,570) = lu(k,570) - lu(k,431) * lu(k,560)
         lu(k,571) = lu(k,571) - lu(k,432) * lu(k,560)
         lu(k,572) = lu(k,572) - lu(k,433) * lu(k,560)
         lu(k,587) = lu(k,587) - lu(k,422) * lu(k,586)
         lu(k,588) = lu(k,588) - lu(k,423) * lu(k,586)
         lu(k,589) = lu(k,589) - lu(k,424) * lu(k,586)
         lu(k,590) = lu(k,590) - lu(k,425) * lu(k,586)
         lu(k,591) = lu(k,591) - lu(k,426) * lu(k,586)
         lu(k,592) = lu(k,592) - lu(k,427) * lu(k,586)
         lu(k,593) = lu(k,593) - lu(k,428) * lu(k,586)
         lu(k,594) = lu(k,594) - lu(k,429) * lu(k,586)
         lu(k,595) = lu(k,595) - lu(k,430) * lu(k,586)
         lu(k,596) = lu(k,596) - lu(k,431) * lu(k,586)
         lu(k,597) = lu(k,597) - lu(k,432) * lu(k,586)
         lu(k,598) = lu(k,598) - lu(k,433) * lu(k,586)
         lu(k,618) = lu(k,618) - lu(k,422) * lu(k,617)
         lu(k,619) = lu(k,619) - lu(k,423) * lu(k,617)
         lu(k,620) = lu(k,620) - lu(k,424) * lu(k,617)
         lu(k,621) = lu(k,621) - lu(k,425) * lu(k,617)
         lu(k,622) = lu(k,622) - lu(k,426) * lu(k,617)
         lu(k,623) = lu(k,623) - lu(k,427) * lu(k,617)
         lu(k,624) = lu(k,624) - lu(k,428) * lu(k,617)
         lu(k,625) = lu(k,625) - lu(k,429) * lu(k,617)
         lu(k,626) = lu(k,626) - lu(k,430) * lu(k,617)
         lu(k,627) = lu(k,627) - lu(k,431) * lu(k,617)
         lu(k,628) = lu(k,628) - lu(k,432) * lu(k,617)
         lu(k,629) = lu(k,629) - lu(k,433) * lu(k,617)
         lu(k,655) = lu(k,655) - lu(k,422) * lu(k,654)
         lu(k,656) = lu(k,656) - lu(k,423) * lu(k,654)
         lu(k,657) = lu(k,657) - lu(k,424) * lu(k,654)
         lu(k,658) = lu(k,658) - lu(k,425) * lu(k,654)
         lu(k,659) = lu(k,659) - lu(k,426) * lu(k,654)
         lu(k,660) = lu(k,660) - lu(k,427) * lu(k,654)
         lu(k,661) = lu(k,661) - lu(k,428) * lu(k,654)
         lu(k,662) = lu(k,662) - lu(k,429) * lu(k,654)
         lu(k,663) = lu(k,663) - lu(k,430) * lu(k,654)
         lu(k,664) = lu(k,664) - lu(k,431) * lu(k,654)
         lu(k,665) = lu(k,665) - lu(k,432) * lu(k,654)
         lu(k,666) = lu(k,666) - lu(k,433) * lu(k,654)
         lu(k,677) = lu(k,677) - lu(k,422) * lu(k,676)
         lu(k,678) = lu(k,678) - lu(k,423) * lu(k,676)
         lu(k,679) = lu(k,679) - lu(k,424) * lu(k,676)
         lu(k,680) = lu(k,680) - lu(k,425) * lu(k,676)
         lu(k,681) = lu(k,681) - lu(k,426) * lu(k,676)
         lu(k,682) = lu(k,682) - lu(k,427) * lu(k,676)
         lu(k,683) = lu(k,683) - lu(k,428) * lu(k,676)
         lu(k,684) = lu(k,684) - lu(k,429) * lu(k,676)
         lu(k,685) = lu(k,685) - lu(k,430) * lu(k,676)
         lu(k,686) = lu(k,686) - lu(k,431) * lu(k,676)
         lu(k,687) = lu(k,687) - lu(k,432) * lu(k,676)
         lu(k,688) = lu(k,688) - lu(k,433) * lu(k,676)
         lu(k,705) = lu(k,705) - lu(k,422) * lu(k,704)
         lu(k,706) = lu(k,706) - lu(k,423) * lu(k,704)
         lu(k,707) = lu(k,707) - lu(k,424) * lu(k,704)
         lu(k,708) = lu(k,708) - lu(k,425) * lu(k,704)
         lu(k,709) = lu(k,709) - lu(k,426) * lu(k,704)
         lu(k,710) = lu(k,710) - lu(k,427) * lu(k,704)
         lu(k,711) = lu(k,711) - lu(k,428) * lu(k,704)
         lu(k,712) = lu(k,712) - lu(k,429) * lu(k,704)
         lu(k,713) = lu(k,713) - lu(k,430) * lu(k,704)
         lu(k,714) = lu(k,714) - lu(k,431) * lu(k,704)
         lu(k,715) = lu(k,715) - lu(k,432) * lu(k,704)
         lu(k,716) = lu(k,716) - lu(k,433) * lu(k,704)
         lu(k,728) = lu(k,728) - lu(k,422) * lu(k,727)
         lu(k,729) = lu(k,729) - lu(k,423) * lu(k,727)
         lu(k,730) = lu(k,730) - lu(k,424) * lu(k,727)
         lu(k,731) = lu(k,731) - lu(k,425) * lu(k,727)
         lu(k,732) = lu(k,732) - lu(k,426) * lu(k,727)
         lu(k,733) = lu(k,733) - lu(k,427) * lu(k,727)
         lu(k,734) = lu(k,734) - lu(k,428) * lu(k,727)
         lu(k,735) = lu(k,735) - lu(k,429) * lu(k,727)
         lu(k,736) = lu(k,736) - lu(k,430) * lu(k,727)
         lu(k,737) = lu(k,737) - lu(k,431) * lu(k,727)
         lu(k,738) = lu(k,738) - lu(k,432) * lu(k,727)
         lu(k,739) = lu(k,739) - lu(k,433) * lu(k,727)
         lu(k,753) = lu(k,753) - lu(k,422) * lu(k,752)
         lu(k,754) = lu(k,754) - lu(k,423) * lu(k,752)
         lu(k,755) = lu(k,755) - lu(k,424) * lu(k,752)
         lu(k,756) = lu(k,756) - lu(k,425) * lu(k,752)
         lu(k,757) = lu(k,757) - lu(k,426) * lu(k,752)
         lu(k,758) = lu(k,758) - lu(k,427) * lu(k,752)
         lu(k,759) = lu(k,759) - lu(k,428) * lu(k,752)
         lu(k,760) = lu(k,760) - lu(k,429) * lu(k,752)
         lu(k,761) = lu(k,761) - lu(k,430) * lu(k,752)
         lu(k,762) = lu(k,762) - lu(k,431) * lu(k,752)
         lu(k,763) = lu(k,763) - lu(k,432) * lu(k,752)
         lu(k,764) = lu(k,764) - lu(k,433) * lu(k,752)
      end do
      end subroutine lu_fac09
      subroutine lu_fac10( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,450) = 1._r8 / lu(k,450)
         lu(k,451) = lu(k,451) * lu(k,450)
         lu(k,452) = lu(k,452) * lu(k,450)
         lu(k,453) = lu(k,453) * lu(k,450)
         lu(k,454) = lu(k,454) * lu(k,450)
         lu(k,455) = lu(k,455) * lu(k,450)
         lu(k,456) = lu(k,456) * lu(k,450)
         lu(k,457) = lu(k,457) * lu(k,450)
         lu(k,458) = lu(k,458) * lu(k,450)
         lu(k,459) = lu(k,459) * lu(k,450)
         lu(k,460) = lu(k,460) * lu(k,450)
         lu(k,461) = lu(k,461) * lu(k,450)
         lu(k,494) = lu(k,494) - lu(k,451) * lu(k,493)
         lu(k,495) = lu(k,495) - lu(k,452) * lu(k,493)
         lu(k,496) = lu(k,496) - lu(k,453) * lu(k,493)
         lu(k,497) = lu(k,497) - lu(k,454) * lu(k,493)
         lu(k,498) = lu(k,498) - lu(k,455) * lu(k,493)
         lu(k,499) = lu(k,499) - lu(k,456) * lu(k,493)
         lu(k,500) = lu(k,500) - lu(k,457) * lu(k,493)
         lu(k,501) = lu(k,501) - lu(k,458) * lu(k,493)
         lu(k,502) = lu(k,502) - lu(k,459) * lu(k,493)
         lu(k,503) = lu(k,503) - lu(k,460) * lu(k,493)
         lu(k,504) = lu(k,504) - lu(k,461) * lu(k,493)
         lu(k,516) = lu(k,516) - lu(k,451) * lu(k,515)
         lu(k,517) = lu(k,517) - lu(k,452) * lu(k,515)
         lu(k,518) = lu(k,518) - lu(k,453) * lu(k,515)
         lu(k,519) = lu(k,519) - lu(k,454) * lu(k,515)
         lu(k,520) = lu(k,520) - lu(k,455) * lu(k,515)
         lu(k,521) = lu(k,521) - lu(k,456) * lu(k,515)
         lu(k,522) = lu(k,522) - lu(k,457) * lu(k,515)
         lu(k,523) = lu(k,523) - lu(k,458) * lu(k,515)
         lu(k,524) = lu(k,524) - lu(k,459) * lu(k,515)
         lu(k,525) = lu(k,525) - lu(k,460) * lu(k,515)
         lu(k,526) = lu(k,526) - lu(k,461) * lu(k,515)
         lu(k,541) = lu(k,541) - lu(k,451) * lu(k,540)
         lu(k,542) = lu(k,542) - lu(k,452) * lu(k,540)
         lu(k,543) = lu(k,543) - lu(k,453) * lu(k,540)
         lu(k,544) = lu(k,544) - lu(k,454) * lu(k,540)
         lu(k,545) = lu(k,545) - lu(k,455) * lu(k,540)
         lu(k,546) = lu(k,546) - lu(k,456) * lu(k,540)
         lu(k,547) = lu(k,547) - lu(k,457) * lu(k,540)
         lu(k,548) = lu(k,548) - lu(k,458) * lu(k,540)
         lu(k,549) = lu(k,549) - lu(k,459) * lu(k,540)
         lu(k,550) = lu(k,550) - lu(k,460) * lu(k,540)
         lu(k,551) = lu(k,551) - lu(k,461) * lu(k,540)
         lu(k,562) = lu(k,562) - lu(k,451) * lu(k,561)
         lu(k,563) = lu(k,563) - lu(k,452) * lu(k,561)
         lu(k,564) = lu(k,564) - lu(k,453) * lu(k,561)
         lu(k,565) = lu(k,565) - lu(k,454) * lu(k,561)
         lu(k,566) = lu(k,566) - lu(k,455) * lu(k,561)
         lu(k,567) = lu(k,567) - lu(k,456) * lu(k,561)
         lu(k,568) = lu(k,568) - lu(k,457) * lu(k,561)
         lu(k,569) = lu(k,569) - lu(k,458) * lu(k,561)
         lu(k,570) = lu(k,570) - lu(k,459) * lu(k,561)
         lu(k,571) = lu(k,571) - lu(k,460) * lu(k,561)
         lu(k,572) = lu(k,572) - lu(k,461) * lu(k,561)
         lu(k,588) = lu(k,588) - lu(k,451) * lu(k,587)
         lu(k,589) = lu(k,589) - lu(k,452) * lu(k,587)
         lu(k,590) = lu(k,590) - lu(k,453) * lu(k,587)
         lu(k,591) = lu(k,591) - lu(k,454) * lu(k,587)
         lu(k,592) = lu(k,592) - lu(k,455) * lu(k,587)
         lu(k,593) = lu(k,593) - lu(k,456) * lu(k,587)
         lu(k,594) = lu(k,594) - lu(k,457) * lu(k,587)
         lu(k,595) = lu(k,595) - lu(k,458) * lu(k,587)
         lu(k,596) = lu(k,596) - lu(k,459) * lu(k,587)
         lu(k,597) = lu(k,597) - lu(k,460) * lu(k,587)
         lu(k,598) = lu(k,598) - lu(k,461) * lu(k,587)
         lu(k,619) = lu(k,619) - lu(k,451) * lu(k,618)
         lu(k,620) = lu(k,620) - lu(k,452) * lu(k,618)
         lu(k,621) = lu(k,621) - lu(k,453) * lu(k,618)
         lu(k,622) = lu(k,622) - lu(k,454) * lu(k,618)
         lu(k,623) = lu(k,623) - lu(k,455) * lu(k,618)
         lu(k,624) = lu(k,624) - lu(k,456) * lu(k,618)
         lu(k,625) = lu(k,625) - lu(k,457) * lu(k,618)
         lu(k,626) = lu(k,626) - lu(k,458) * lu(k,618)
         lu(k,627) = lu(k,627) - lu(k,459) * lu(k,618)
         lu(k,628) = lu(k,628) - lu(k,460) * lu(k,618)
         lu(k,629) = lu(k,629) - lu(k,461) * lu(k,618)
         lu(k,656) = lu(k,656) - lu(k,451) * lu(k,655)
         lu(k,657) = lu(k,657) - lu(k,452) * lu(k,655)
         lu(k,658) = lu(k,658) - lu(k,453) * lu(k,655)
         lu(k,659) = lu(k,659) - lu(k,454) * lu(k,655)
         lu(k,660) = lu(k,660) - lu(k,455) * lu(k,655)
         lu(k,661) = lu(k,661) - lu(k,456) * lu(k,655)
         lu(k,662) = lu(k,662) - lu(k,457) * lu(k,655)
         lu(k,663) = lu(k,663) - lu(k,458) * lu(k,655)
         lu(k,664) = lu(k,664) - lu(k,459) * lu(k,655)
         lu(k,665) = lu(k,665) - lu(k,460) * lu(k,655)
         lu(k,666) = lu(k,666) - lu(k,461) * lu(k,655)
         lu(k,678) = lu(k,678) - lu(k,451) * lu(k,677)
         lu(k,679) = lu(k,679) - lu(k,452) * lu(k,677)
         lu(k,680) = lu(k,680) - lu(k,453) * lu(k,677)
         lu(k,681) = lu(k,681) - lu(k,454) * lu(k,677)
         lu(k,682) = lu(k,682) - lu(k,455) * lu(k,677)
         lu(k,683) = lu(k,683) - lu(k,456) * lu(k,677)
         lu(k,684) = lu(k,684) - lu(k,457) * lu(k,677)
         lu(k,685) = lu(k,685) - lu(k,458) * lu(k,677)
         lu(k,686) = lu(k,686) - lu(k,459) * lu(k,677)
         lu(k,687) = lu(k,687) - lu(k,460) * lu(k,677)
         lu(k,688) = lu(k,688) - lu(k,461) * lu(k,677)
         lu(k,706) = lu(k,706) - lu(k,451) * lu(k,705)
         lu(k,707) = lu(k,707) - lu(k,452) * lu(k,705)
         lu(k,708) = lu(k,708) - lu(k,453) * lu(k,705)
         lu(k,709) = lu(k,709) - lu(k,454) * lu(k,705)
         lu(k,710) = lu(k,710) - lu(k,455) * lu(k,705)
         lu(k,711) = lu(k,711) - lu(k,456) * lu(k,705)
         lu(k,712) = lu(k,712) - lu(k,457) * lu(k,705)
         lu(k,713) = lu(k,713) - lu(k,458) * lu(k,705)
         lu(k,714) = lu(k,714) - lu(k,459) * lu(k,705)
         lu(k,715) = lu(k,715) - lu(k,460) * lu(k,705)
         lu(k,716) = lu(k,716) - lu(k,461) * lu(k,705)
         lu(k,729) = lu(k,729) - lu(k,451) * lu(k,728)
         lu(k,730) = lu(k,730) - lu(k,452) * lu(k,728)
         lu(k,731) = lu(k,731) - lu(k,453) * lu(k,728)
         lu(k,732) = lu(k,732) - lu(k,454) * lu(k,728)
         lu(k,733) = lu(k,733) - lu(k,455) * lu(k,728)
         lu(k,734) = lu(k,734) - lu(k,456) * lu(k,728)
         lu(k,735) = lu(k,735) - lu(k,457) * lu(k,728)
         lu(k,736) = lu(k,736) - lu(k,458) * lu(k,728)
         lu(k,737) = lu(k,737) - lu(k,459) * lu(k,728)
         lu(k,738) = lu(k,738) - lu(k,460) * lu(k,728)
         lu(k,739) = lu(k,739) - lu(k,461) * lu(k,728)
         lu(k,754) = lu(k,754) - lu(k,451) * lu(k,753)
         lu(k,755) = lu(k,755) - lu(k,452) * lu(k,753)
         lu(k,756) = lu(k,756) - lu(k,453) * lu(k,753)
         lu(k,757) = lu(k,757) - lu(k,454) * lu(k,753)
         lu(k,758) = lu(k,758) - lu(k,455) * lu(k,753)
         lu(k,759) = lu(k,759) - lu(k,456) * lu(k,753)
         lu(k,760) = lu(k,760) - lu(k,457) * lu(k,753)
         lu(k,761) = lu(k,761) - lu(k,458) * lu(k,753)
         lu(k,762) = lu(k,762) - lu(k,459) * lu(k,753)
         lu(k,763) = lu(k,763) - lu(k,460) * lu(k,753)
         lu(k,764) = lu(k,764) - lu(k,461) * lu(k,753)
         lu(k,494) = 1._r8 / lu(k,494)
         lu(k,495) = lu(k,495) * lu(k,494)
         lu(k,496) = lu(k,496) * lu(k,494)
         lu(k,497) = lu(k,497) * lu(k,494)
         lu(k,498) = lu(k,498) * lu(k,494)
         lu(k,499) = lu(k,499) * lu(k,494)
         lu(k,500) = lu(k,500) * lu(k,494)
         lu(k,501) = lu(k,501) * lu(k,494)
         lu(k,502) = lu(k,502) * lu(k,494)
         lu(k,503) = lu(k,503) * lu(k,494)
         lu(k,504) = lu(k,504) * lu(k,494)
         lu(k,517) = lu(k,517) - lu(k,495) * lu(k,516)
         lu(k,518) = lu(k,518) - lu(k,496) * lu(k,516)
         lu(k,519) = lu(k,519) - lu(k,497) * lu(k,516)
         lu(k,520) = lu(k,520) - lu(k,498) * lu(k,516)
         lu(k,521) = lu(k,521) - lu(k,499) * lu(k,516)
         lu(k,522) = lu(k,522) - lu(k,500) * lu(k,516)
         lu(k,523) = lu(k,523) - lu(k,501) * lu(k,516)
         lu(k,524) = lu(k,524) - lu(k,502) * lu(k,516)
         lu(k,525) = lu(k,525) - lu(k,503) * lu(k,516)
         lu(k,526) = lu(k,526) - lu(k,504) * lu(k,516)
         lu(k,542) = lu(k,542) - lu(k,495) * lu(k,541)
         lu(k,543) = lu(k,543) - lu(k,496) * lu(k,541)
         lu(k,544) = lu(k,544) - lu(k,497) * lu(k,541)
         lu(k,545) = lu(k,545) - lu(k,498) * lu(k,541)
         lu(k,546) = lu(k,546) - lu(k,499) * lu(k,541)
         lu(k,547) = lu(k,547) - lu(k,500) * lu(k,541)
         lu(k,548) = lu(k,548) - lu(k,501) * lu(k,541)
         lu(k,549) = lu(k,549) - lu(k,502) * lu(k,541)
         lu(k,550) = lu(k,550) - lu(k,503) * lu(k,541)
         lu(k,551) = lu(k,551) - lu(k,504) * lu(k,541)
         lu(k,563) = lu(k,563) - lu(k,495) * lu(k,562)
         lu(k,564) = lu(k,564) - lu(k,496) * lu(k,562)
         lu(k,565) = lu(k,565) - lu(k,497) * lu(k,562)
         lu(k,566) = lu(k,566) - lu(k,498) * lu(k,562)
         lu(k,567) = lu(k,567) - lu(k,499) * lu(k,562)
         lu(k,568) = lu(k,568) - lu(k,500) * lu(k,562)
         lu(k,569) = lu(k,569) - lu(k,501) * lu(k,562)
         lu(k,570) = lu(k,570) - lu(k,502) * lu(k,562)
         lu(k,571) = lu(k,571) - lu(k,503) * lu(k,562)
         lu(k,572) = lu(k,572) - lu(k,504) * lu(k,562)
         lu(k,589) = lu(k,589) - lu(k,495) * lu(k,588)
         lu(k,590) = lu(k,590) - lu(k,496) * lu(k,588)
         lu(k,591) = lu(k,591) - lu(k,497) * lu(k,588)
         lu(k,592) = lu(k,592) - lu(k,498) * lu(k,588)
         lu(k,593) = lu(k,593) - lu(k,499) * lu(k,588)
         lu(k,594) = lu(k,594) - lu(k,500) * lu(k,588)
         lu(k,595) = lu(k,595) - lu(k,501) * lu(k,588)
         lu(k,596) = lu(k,596) - lu(k,502) * lu(k,588)
         lu(k,597) = lu(k,597) - lu(k,503) * lu(k,588)
         lu(k,598) = lu(k,598) - lu(k,504) * lu(k,588)
         lu(k,620) = lu(k,620) - lu(k,495) * lu(k,619)
         lu(k,621) = lu(k,621) - lu(k,496) * lu(k,619)
         lu(k,622) = lu(k,622) - lu(k,497) * lu(k,619)
         lu(k,623) = lu(k,623) - lu(k,498) * lu(k,619)
         lu(k,624) = lu(k,624) - lu(k,499) * lu(k,619)
         lu(k,625) = lu(k,625) - lu(k,500) * lu(k,619)
         lu(k,626) = lu(k,626) - lu(k,501) * lu(k,619)
         lu(k,627) = lu(k,627) - lu(k,502) * lu(k,619)
         lu(k,628) = lu(k,628) - lu(k,503) * lu(k,619)
         lu(k,629) = lu(k,629) - lu(k,504) * lu(k,619)
         lu(k,657) = lu(k,657) - lu(k,495) * lu(k,656)
         lu(k,658) = lu(k,658) - lu(k,496) * lu(k,656)
         lu(k,659) = lu(k,659) - lu(k,497) * lu(k,656)
         lu(k,660) = lu(k,660) - lu(k,498) * lu(k,656)
         lu(k,661) = lu(k,661) - lu(k,499) * lu(k,656)
         lu(k,662) = lu(k,662) - lu(k,500) * lu(k,656)
         lu(k,663) = lu(k,663) - lu(k,501) * lu(k,656)
         lu(k,664) = lu(k,664) - lu(k,502) * lu(k,656)
         lu(k,665) = lu(k,665) - lu(k,503) * lu(k,656)
         lu(k,666) = lu(k,666) - lu(k,504) * lu(k,656)
         lu(k,679) = lu(k,679) - lu(k,495) * lu(k,678)
         lu(k,680) = lu(k,680) - lu(k,496) * lu(k,678)
         lu(k,681) = lu(k,681) - lu(k,497) * lu(k,678)
         lu(k,682) = lu(k,682) - lu(k,498) * lu(k,678)
         lu(k,683) = lu(k,683) - lu(k,499) * lu(k,678)
         lu(k,684) = lu(k,684) - lu(k,500) * lu(k,678)
         lu(k,685) = lu(k,685) - lu(k,501) * lu(k,678)
         lu(k,686) = lu(k,686) - lu(k,502) * lu(k,678)
         lu(k,687) = lu(k,687) - lu(k,503) * lu(k,678)
         lu(k,688) = lu(k,688) - lu(k,504) * lu(k,678)
         lu(k,707) = lu(k,707) - lu(k,495) * lu(k,706)
         lu(k,708) = lu(k,708) - lu(k,496) * lu(k,706)
         lu(k,709) = lu(k,709) - lu(k,497) * lu(k,706)
         lu(k,710) = lu(k,710) - lu(k,498) * lu(k,706)
         lu(k,711) = lu(k,711) - lu(k,499) * lu(k,706)
         lu(k,712) = lu(k,712) - lu(k,500) * lu(k,706)
         lu(k,713) = lu(k,713) - lu(k,501) * lu(k,706)
         lu(k,714) = lu(k,714) - lu(k,502) * lu(k,706)
         lu(k,715) = lu(k,715) - lu(k,503) * lu(k,706)
         lu(k,716) = lu(k,716) - lu(k,504) * lu(k,706)
         lu(k,730) = lu(k,730) - lu(k,495) * lu(k,729)
         lu(k,731) = lu(k,731) - lu(k,496) * lu(k,729)
         lu(k,732) = lu(k,732) - lu(k,497) * lu(k,729)
         lu(k,733) = lu(k,733) - lu(k,498) * lu(k,729)
         lu(k,734) = lu(k,734) - lu(k,499) * lu(k,729)
         lu(k,735) = lu(k,735) - lu(k,500) * lu(k,729)
         lu(k,736) = lu(k,736) - lu(k,501) * lu(k,729)
         lu(k,737) = lu(k,737) - lu(k,502) * lu(k,729)
         lu(k,738) = lu(k,738) - lu(k,503) * lu(k,729)
         lu(k,739) = lu(k,739) - lu(k,504) * lu(k,729)
         lu(k,755) = lu(k,755) - lu(k,495) * lu(k,754)
         lu(k,756) = lu(k,756) - lu(k,496) * lu(k,754)
         lu(k,757) = lu(k,757) - lu(k,497) * lu(k,754)
         lu(k,758) = lu(k,758) - lu(k,498) * lu(k,754)
         lu(k,759) = lu(k,759) - lu(k,499) * lu(k,754)
         lu(k,760) = lu(k,760) - lu(k,500) * lu(k,754)
         lu(k,761) = lu(k,761) - lu(k,501) * lu(k,754)
         lu(k,762) = lu(k,762) - lu(k,502) * lu(k,754)
         lu(k,763) = lu(k,763) - lu(k,503) * lu(k,754)
         lu(k,764) = lu(k,764) - lu(k,504) * lu(k,754)
         lu(k,517) = 1._r8 / lu(k,517)
         lu(k,518) = lu(k,518) * lu(k,517)
         lu(k,519) = lu(k,519) * lu(k,517)
         lu(k,520) = lu(k,520) * lu(k,517)
         lu(k,521) = lu(k,521) * lu(k,517)
         lu(k,522) = lu(k,522) * lu(k,517)
         lu(k,523) = lu(k,523) * lu(k,517)
         lu(k,524) = lu(k,524) * lu(k,517)
         lu(k,525) = lu(k,525) * lu(k,517)
         lu(k,526) = lu(k,526) * lu(k,517)
         lu(k,543) = lu(k,543) - lu(k,518) * lu(k,542)
         lu(k,544) = lu(k,544) - lu(k,519) * lu(k,542)
         lu(k,545) = lu(k,545) - lu(k,520) * lu(k,542)
         lu(k,546) = lu(k,546) - lu(k,521) * lu(k,542)
         lu(k,547) = lu(k,547) - lu(k,522) * lu(k,542)
         lu(k,548) = lu(k,548) - lu(k,523) * lu(k,542)
         lu(k,549) = lu(k,549) - lu(k,524) * lu(k,542)
         lu(k,550) = lu(k,550) - lu(k,525) * lu(k,542)
         lu(k,551) = lu(k,551) - lu(k,526) * lu(k,542)
         lu(k,564) = lu(k,564) - lu(k,518) * lu(k,563)
         lu(k,565) = lu(k,565) - lu(k,519) * lu(k,563)
         lu(k,566) = lu(k,566) - lu(k,520) * lu(k,563)
         lu(k,567) = lu(k,567) - lu(k,521) * lu(k,563)
         lu(k,568) = lu(k,568) - lu(k,522) * lu(k,563)
         lu(k,569) = lu(k,569) - lu(k,523) * lu(k,563)
         lu(k,570) = lu(k,570) - lu(k,524) * lu(k,563)
         lu(k,571) = lu(k,571) - lu(k,525) * lu(k,563)
         lu(k,572) = lu(k,572) - lu(k,526) * lu(k,563)
         lu(k,590) = lu(k,590) - lu(k,518) * lu(k,589)
         lu(k,591) = lu(k,591) - lu(k,519) * lu(k,589)
         lu(k,592) = lu(k,592) - lu(k,520) * lu(k,589)
         lu(k,593) = lu(k,593) - lu(k,521) * lu(k,589)
         lu(k,594) = lu(k,594) - lu(k,522) * lu(k,589)
         lu(k,595) = lu(k,595) - lu(k,523) * lu(k,589)
         lu(k,596) = lu(k,596) - lu(k,524) * lu(k,589)
         lu(k,597) = lu(k,597) - lu(k,525) * lu(k,589)
         lu(k,598) = lu(k,598) - lu(k,526) * lu(k,589)
         lu(k,621) = lu(k,621) - lu(k,518) * lu(k,620)
         lu(k,622) = lu(k,622) - lu(k,519) * lu(k,620)
         lu(k,623) = lu(k,623) - lu(k,520) * lu(k,620)
         lu(k,624) = lu(k,624) - lu(k,521) * lu(k,620)
         lu(k,625) = lu(k,625) - lu(k,522) * lu(k,620)
         lu(k,626) = lu(k,626) - lu(k,523) * lu(k,620)
         lu(k,627) = lu(k,627) - lu(k,524) * lu(k,620)
         lu(k,628) = lu(k,628) - lu(k,525) * lu(k,620)
         lu(k,629) = lu(k,629) - lu(k,526) * lu(k,620)
         lu(k,658) = lu(k,658) - lu(k,518) * lu(k,657)
         lu(k,659) = lu(k,659) - lu(k,519) * lu(k,657)
         lu(k,660) = lu(k,660) - lu(k,520) * lu(k,657)
         lu(k,661) = lu(k,661) - lu(k,521) * lu(k,657)
         lu(k,662) = lu(k,662) - lu(k,522) * lu(k,657)
         lu(k,663) = lu(k,663) - lu(k,523) * lu(k,657)
         lu(k,664) = lu(k,664) - lu(k,524) * lu(k,657)
         lu(k,665) = lu(k,665) - lu(k,525) * lu(k,657)
         lu(k,666) = lu(k,666) - lu(k,526) * lu(k,657)
         lu(k,680) = lu(k,680) - lu(k,518) * lu(k,679)
         lu(k,681) = lu(k,681) - lu(k,519) * lu(k,679)
         lu(k,682) = lu(k,682) - lu(k,520) * lu(k,679)
         lu(k,683) = lu(k,683) - lu(k,521) * lu(k,679)
         lu(k,684) = lu(k,684) - lu(k,522) * lu(k,679)
         lu(k,685) = lu(k,685) - lu(k,523) * lu(k,679)
         lu(k,686) = lu(k,686) - lu(k,524) * lu(k,679)
         lu(k,687) = lu(k,687) - lu(k,525) * lu(k,679)
         lu(k,688) = lu(k,688) - lu(k,526) * lu(k,679)
         lu(k,708) = lu(k,708) - lu(k,518) * lu(k,707)
         lu(k,709) = lu(k,709) - lu(k,519) * lu(k,707)
         lu(k,710) = lu(k,710) - lu(k,520) * lu(k,707)
         lu(k,711) = lu(k,711) - lu(k,521) * lu(k,707)
         lu(k,712) = lu(k,712) - lu(k,522) * lu(k,707)
         lu(k,713) = lu(k,713) - lu(k,523) * lu(k,707)
         lu(k,714) = lu(k,714) - lu(k,524) * lu(k,707)
         lu(k,715) = lu(k,715) - lu(k,525) * lu(k,707)
         lu(k,716) = lu(k,716) - lu(k,526) * lu(k,707)
         lu(k,731) = lu(k,731) - lu(k,518) * lu(k,730)
         lu(k,732) = lu(k,732) - lu(k,519) * lu(k,730)
         lu(k,733) = lu(k,733) - lu(k,520) * lu(k,730)
         lu(k,734) = lu(k,734) - lu(k,521) * lu(k,730)
         lu(k,735) = lu(k,735) - lu(k,522) * lu(k,730)
         lu(k,736) = lu(k,736) - lu(k,523) * lu(k,730)
         lu(k,737) = lu(k,737) - lu(k,524) * lu(k,730)
         lu(k,738) = lu(k,738) - lu(k,525) * lu(k,730)
         lu(k,739) = lu(k,739) - lu(k,526) * lu(k,730)
         lu(k,756) = lu(k,756) - lu(k,518) * lu(k,755)
         lu(k,757) = lu(k,757) - lu(k,519) * lu(k,755)
         lu(k,758) = lu(k,758) - lu(k,520) * lu(k,755)
         lu(k,759) = lu(k,759) - lu(k,521) * lu(k,755)
         lu(k,760) = lu(k,760) - lu(k,522) * lu(k,755)
         lu(k,761) = lu(k,761) - lu(k,523) * lu(k,755)
         lu(k,762) = lu(k,762) - lu(k,524) * lu(k,755)
         lu(k,763) = lu(k,763) - lu(k,525) * lu(k,755)
         lu(k,764) = lu(k,764) - lu(k,526) * lu(k,755)
         lu(k,543) = 1._r8 / lu(k,543)
         lu(k,544) = lu(k,544) * lu(k,543)
         lu(k,545) = lu(k,545) * lu(k,543)
         lu(k,546) = lu(k,546) * lu(k,543)
         lu(k,547) = lu(k,547) * lu(k,543)
         lu(k,548) = lu(k,548) * lu(k,543)
         lu(k,549) = lu(k,549) * lu(k,543)
         lu(k,550) = lu(k,550) * lu(k,543)
         lu(k,551) = lu(k,551) * lu(k,543)
         lu(k,565) = lu(k,565) - lu(k,544) * lu(k,564)
         lu(k,566) = lu(k,566) - lu(k,545) * lu(k,564)
         lu(k,567) = lu(k,567) - lu(k,546) * lu(k,564)
         lu(k,568) = lu(k,568) - lu(k,547) * lu(k,564)
         lu(k,569) = lu(k,569) - lu(k,548) * lu(k,564)
         lu(k,570) = lu(k,570) - lu(k,549) * lu(k,564)
         lu(k,571) = lu(k,571) - lu(k,550) * lu(k,564)
         lu(k,572) = lu(k,572) - lu(k,551) * lu(k,564)
         lu(k,591) = lu(k,591) - lu(k,544) * lu(k,590)
         lu(k,592) = lu(k,592) - lu(k,545) * lu(k,590)
         lu(k,593) = lu(k,593) - lu(k,546) * lu(k,590)
         lu(k,594) = lu(k,594) - lu(k,547) * lu(k,590)
         lu(k,595) = lu(k,595) - lu(k,548) * lu(k,590)
         lu(k,596) = lu(k,596) - lu(k,549) * lu(k,590)
         lu(k,597) = lu(k,597) - lu(k,550) * lu(k,590)
         lu(k,598) = lu(k,598) - lu(k,551) * lu(k,590)
         lu(k,622) = lu(k,622) - lu(k,544) * lu(k,621)
         lu(k,623) = lu(k,623) - lu(k,545) * lu(k,621)
         lu(k,624) = lu(k,624) - lu(k,546) * lu(k,621)
         lu(k,625) = lu(k,625) - lu(k,547) * lu(k,621)
         lu(k,626) = lu(k,626) - lu(k,548) * lu(k,621)
         lu(k,627) = lu(k,627) - lu(k,549) * lu(k,621)
         lu(k,628) = lu(k,628) - lu(k,550) * lu(k,621)
         lu(k,629) = lu(k,629) - lu(k,551) * lu(k,621)
         lu(k,659) = lu(k,659) - lu(k,544) * lu(k,658)
         lu(k,660) = lu(k,660) - lu(k,545) * lu(k,658)
         lu(k,661) = lu(k,661) - lu(k,546) * lu(k,658)
         lu(k,662) = lu(k,662) - lu(k,547) * lu(k,658)
         lu(k,663) = lu(k,663) - lu(k,548) * lu(k,658)
         lu(k,664) = lu(k,664) - lu(k,549) * lu(k,658)
         lu(k,665) = lu(k,665) - lu(k,550) * lu(k,658)
         lu(k,666) = lu(k,666) - lu(k,551) * lu(k,658)
         lu(k,681) = lu(k,681) - lu(k,544) * lu(k,680)
         lu(k,682) = lu(k,682) - lu(k,545) * lu(k,680)
         lu(k,683) = lu(k,683) - lu(k,546) * lu(k,680)
         lu(k,684) = lu(k,684) - lu(k,547) * lu(k,680)
         lu(k,685) = lu(k,685) - lu(k,548) * lu(k,680)
         lu(k,686) = lu(k,686) - lu(k,549) * lu(k,680)
         lu(k,687) = lu(k,687) - lu(k,550) * lu(k,680)
         lu(k,688) = lu(k,688) - lu(k,551) * lu(k,680)
         lu(k,709) = lu(k,709) - lu(k,544) * lu(k,708)
         lu(k,710) = lu(k,710) - lu(k,545) * lu(k,708)
         lu(k,711) = lu(k,711) - lu(k,546) * lu(k,708)
         lu(k,712) = lu(k,712) - lu(k,547) * lu(k,708)
         lu(k,713) = lu(k,713) - lu(k,548) * lu(k,708)
         lu(k,714) = lu(k,714) - lu(k,549) * lu(k,708)
         lu(k,715) = lu(k,715) - lu(k,550) * lu(k,708)
         lu(k,716) = lu(k,716) - lu(k,551) * lu(k,708)
         lu(k,732) = lu(k,732) - lu(k,544) * lu(k,731)
         lu(k,733) = lu(k,733) - lu(k,545) * lu(k,731)
         lu(k,734) = lu(k,734) - lu(k,546) * lu(k,731)
         lu(k,735) = lu(k,735) - lu(k,547) * lu(k,731)
         lu(k,736) = lu(k,736) - lu(k,548) * lu(k,731)
         lu(k,737) = lu(k,737) - lu(k,549) * lu(k,731)
         lu(k,738) = lu(k,738) - lu(k,550) * lu(k,731)
         lu(k,739) = lu(k,739) - lu(k,551) * lu(k,731)
         lu(k,757) = lu(k,757) - lu(k,544) * lu(k,756)
         lu(k,758) = lu(k,758) - lu(k,545) * lu(k,756)
         lu(k,759) = lu(k,759) - lu(k,546) * lu(k,756)
         lu(k,760) = lu(k,760) - lu(k,547) * lu(k,756)
         lu(k,761) = lu(k,761) - lu(k,548) * lu(k,756)
         lu(k,762) = lu(k,762) - lu(k,549) * lu(k,756)
         lu(k,763) = lu(k,763) - lu(k,550) * lu(k,756)
         lu(k,764) = lu(k,764) - lu(k,551) * lu(k,756)
         lu(k,565) = 1._r8 / lu(k,565)
         lu(k,566) = lu(k,566) * lu(k,565)
         lu(k,567) = lu(k,567) * lu(k,565)
         lu(k,568) = lu(k,568) * lu(k,565)
         lu(k,569) = lu(k,569) * lu(k,565)
         lu(k,570) = lu(k,570) * lu(k,565)
         lu(k,571) = lu(k,571) * lu(k,565)
         lu(k,572) = lu(k,572) * lu(k,565)
         lu(k,592) = lu(k,592) - lu(k,566) * lu(k,591)
         lu(k,593) = lu(k,593) - lu(k,567) * lu(k,591)
         lu(k,594) = lu(k,594) - lu(k,568) * lu(k,591)
         lu(k,595) = lu(k,595) - lu(k,569) * lu(k,591)
         lu(k,596) = lu(k,596) - lu(k,570) * lu(k,591)
         lu(k,597) = lu(k,597) - lu(k,571) * lu(k,591)
         lu(k,598) = lu(k,598) - lu(k,572) * lu(k,591)
         lu(k,623) = lu(k,623) - lu(k,566) * lu(k,622)
         lu(k,624) = lu(k,624) - lu(k,567) * lu(k,622)
         lu(k,625) = lu(k,625) - lu(k,568) * lu(k,622)
         lu(k,626) = lu(k,626) - lu(k,569) * lu(k,622)
         lu(k,627) = lu(k,627) - lu(k,570) * lu(k,622)
         lu(k,628) = lu(k,628) - lu(k,571) * lu(k,622)
         lu(k,629) = lu(k,629) - lu(k,572) * lu(k,622)
         lu(k,660) = lu(k,660) - lu(k,566) * lu(k,659)
         lu(k,661) = lu(k,661) - lu(k,567) * lu(k,659)
         lu(k,662) = lu(k,662) - lu(k,568) * lu(k,659)
         lu(k,663) = lu(k,663) - lu(k,569) * lu(k,659)
         lu(k,664) = lu(k,664) - lu(k,570) * lu(k,659)
         lu(k,665) = lu(k,665) - lu(k,571) * lu(k,659)
         lu(k,666) = lu(k,666) - lu(k,572) * lu(k,659)
         lu(k,682) = lu(k,682) - lu(k,566) * lu(k,681)
         lu(k,683) = lu(k,683) - lu(k,567) * lu(k,681)
         lu(k,684) = lu(k,684) - lu(k,568) * lu(k,681)
         lu(k,685) = lu(k,685) - lu(k,569) * lu(k,681)
         lu(k,686) = lu(k,686) - lu(k,570) * lu(k,681)
         lu(k,687) = lu(k,687) - lu(k,571) * lu(k,681)
         lu(k,688) = lu(k,688) - lu(k,572) * lu(k,681)
         lu(k,710) = lu(k,710) - lu(k,566) * lu(k,709)
         lu(k,711) = lu(k,711) - lu(k,567) * lu(k,709)
         lu(k,712) = lu(k,712) - lu(k,568) * lu(k,709)
         lu(k,713) = lu(k,713) - lu(k,569) * lu(k,709)
         lu(k,714) = lu(k,714) - lu(k,570) * lu(k,709)
         lu(k,715) = lu(k,715) - lu(k,571) * lu(k,709)
         lu(k,716) = lu(k,716) - lu(k,572) * lu(k,709)
         lu(k,733) = lu(k,733) - lu(k,566) * lu(k,732)
         lu(k,734) = lu(k,734) - lu(k,567) * lu(k,732)
         lu(k,735) = lu(k,735) - lu(k,568) * lu(k,732)
         lu(k,736) = lu(k,736) - lu(k,569) * lu(k,732)
         lu(k,737) = lu(k,737) - lu(k,570) * lu(k,732)
         lu(k,738) = lu(k,738) - lu(k,571) * lu(k,732)
         lu(k,739) = lu(k,739) - lu(k,572) * lu(k,732)
         lu(k,758) = lu(k,758) - lu(k,566) * lu(k,757)
         lu(k,759) = lu(k,759) - lu(k,567) * lu(k,757)
         lu(k,760) = lu(k,760) - lu(k,568) * lu(k,757)
         lu(k,761) = lu(k,761) - lu(k,569) * lu(k,757)
         lu(k,762) = lu(k,762) - lu(k,570) * lu(k,757)
         lu(k,763) = lu(k,763) - lu(k,571) * lu(k,757)
         lu(k,764) = lu(k,764) - lu(k,572) * lu(k,757)
         lu(k,592) = 1._r8 / lu(k,592)
         lu(k,593) = lu(k,593) * lu(k,592)
         lu(k,594) = lu(k,594) * lu(k,592)
         lu(k,595) = lu(k,595) * lu(k,592)
         lu(k,596) = lu(k,596) * lu(k,592)
         lu(k,597) = lu(k,597) * lu(k,592)
         lu(k,598) = lu(k,598) * lu(k,592)
         lu(k,624) = lu(k,624) - lu(k,593) * lu(k,623)
         lu(k,625) = lu(k,625) - lu(k,594) * lu(k,623)
         lu(k,626) = lu(k,626) - lu(k,595) * lu(k,623)
         lu(k,627) = lu(k,627) - lu(k,596) * lu(k,623)
         lu(k,628) = lu(k,628) - lu(k,597) * lu(k,623)
         lu(k,629) = lu(k,629) - lu(k,598) * lu(k,623)
         lu(k,661) = lu(k,661) - lu(k,593) * lu(k,660)
         lu(k,662) = lu(k,662) - lu(k,594) * lu(k,660)
         lu(k,663) = lu(k,663) - lu(k,595) * lu(k,660)
         lu(k,664) = lu(k,664) - lu(k,596) * lu(k,660)
         lu(k,665) = lu(k,665) - lu(k,597) * lu(k,660)
         lu(k,666) = lu(k,666) - lu(k,598) * lu(k,660)
         lu(k,683) = lu(k,683) - lu(k,593) * lu(k,682)
         lu(k,684) = lu(k,684) - lu(k,594) * lu(k,682)
         lu(k,685) = lu(k,685) - lu(k,595) * lu(k,682)
         lu(k,686) = lu(k,686) - lu(k,596) * lu(k,682)
         lu(k,687) = lu(k,687) - lu(k,597) * lu(k,682)
         lu(k,688) = lu(k,688) - lu(k,598) * lu(k,682)
         lu(k,711) = lu(k,711) - lu(k,593) * lu(k,710)
         lu(k,712) = lu(k,712) - lu(k,594) * lu(k,710)
         lu(k,713) = lu(k,713) - lu(k,595) * lu(k,710)
         lu(k,714) = lu(k,714) - lu(k,596) * lu(k,710)
         lu(k,715) = lu(k,715) - lu(k,597) * lu(k,710)
         lu(k,716) = lu(k,716) - lu(k,598) * lu(k,710)
         lu(k,734) = lu(k,734) - lu(k,593) * lu(k,733)
         lu(k,735) = lu(k,735) - lu(k,594) * lu(k,733)
         lu(k,736) = lu(k,736) - lu(k,595) * lu(k,733)
         lu(k,737) = lu(k,737) - lu(k,596) * lu(k,733)
         lu(k,738) = lu(k,738) - lu(k,597) * lu(k,733)
         lu(k,739) = lu(k,739) - lu(k,598) * lu(k,733)
         lu(k,759) = lu(k,759) - lu(k,593) * lu(k,758)
         lu(k,760) = lu(k,760) - lu(k,594) * lu(k,758)
         lu(k,761) = lu(k,761) - lu(k,595) * lu(k,758)
         lu(k,762) = lu(k,762) - lu(k,596) * lu(k,758)
         lu(k,763) = lu(k,763) - lu(k,597) * lu(k,758)
         lu(k,764) = lu(k,764) - lu(k,598) * lu(k,758)
      end do
      end subroutine lu_fac10
      subroutine lu_fac11( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
!-----------------------------------------------------------------------
! ... local variables
!-----------------------------------------------------------------------
      integer :: k
      do k = 1,avec_len
         lu(k,624) = 1._r8 / lu(k,624)
         lu(k,625) = lu(k,625) * lu(k,624)
         lu(k,626) = lu(k,626) * lu(k,624)
         lu(k,627) = lu(k,627) * lu(k,624)
         lu(k,628) = lu(k,628) * lu(k,624)
         lu(k,629) = lu(k,629) * lu(k,624)
         lu(k,662) = lu(k,662) - lu(k,625) * lu(k,661)
         lu(k,663) = lu(k,663) - lu(k,626) * lu(k,661)
         lu(k,664) = lu(k,664) - lu(k,627) * lu(k,661)
         lu(k,665) = lu(k,665) - lu(k,628) * lu(k,661)
         lu(k,666) = lu(k,666) - lu(k,629) * lu(k,661)
         lu(k,684) = lu(k,684) - lu(k,625) * lu(k,683)
         lu(k,685) = lu(k,685) - lu(k,626) * lu(k,683)
         lu(k,686) = lu(k,686) - lu(k,627) * lu(k,683)
         lu(k,687) = lu(k,687) - lu(k,628) * lu(k,683)
         lu(k,688) = lu(k,688) - lu(k,629) * lu(k,683)
         lu(k,712) = lu(k,712) - lu(k,625) * lu(k,711)
         lu(k,713) = lu(k,713) - lu(k,626) * lu(k,711)
         lu(k,714) = lu(k,714) - lu(k,627) * lu(k,711)
         lu(k,715) = lu(k,715) - lu(k,628) * lu(k,711)
         lu(k,716) = lu(k,716) - lu(k,629) * lu(k,711)
         lu(k,735) = lu(k,735) - lu(k,625) * lu(k,734)
         lu(k,736) = lu(k,736) - lu(k,626) * lu(k,734)
         lu(k,737) = lu(k,737) - lu(k,627) * lu(k,734)
         lu(k,738) = lu(k,738) - lu(k,628) * lu(k,734)
         lu(k,739) = lu(k,739) - lu(k,629) * lu(k,734)
         lu(k,760) = lu(k,760) - lu(k,625) * lu(k,759)
         lu(k,761) = lu(k,761) - lu(k,626) * lu(k,759)
         lu(k,762) = lu(k,762) - lu(k,627) * lu(k,759)
         lu(k,763) = lu(k,763) - lu(k,628) * lu(k,759)
         lu(k,764) = lu(k,764) - lu(k,629) * lu(k,759)
         lu(k,662) = 1._r8 / lu(k,662)
         lu(k,663) = lu(k,663) * lu(k,662)
         lu(k,664) = lu(k,664) * lu(k,662)
         lu(k,665) = lu(k,665) * lu(k,662)
         lu(k,666) = lu(k,666) * lu(k,662)
         lu(k,685) = lu(k,685) - lu(k,663) * lu(k,684)
         lu(k,686) = lu(k,686) - lu(k,664) * lu(k,684)
         lu(k,687) = lu(k,687) - lu(k,665) * lu(k,684)
         lu(k,688) = lu(k,688) - lu(k,666) * lu(k,684)
         lu(k,713) = lu(k,713) - lu(k,663) * lu(k,712)
         lu(k,714) = lu(k,714) - lu(k,664) * lu(k,712)
         lu(k,715) = lu(k,715) - lu(k,665) * lu(k,712)
         lu(k,716) = lu(k,716) - lu(k,666) * lu(k,712)
         lu(k,736) = lu(k,736) - lu(k,663) * lu(k,735)
         lu(k,737) = lu(k,737) - lu(k,664) * lu(k,735)
         lu(k,738) = lu(k,738) - lu(k,665) * lu(k,735)
         lu(k,739) = lu(k,739) - lu(k,666) * lu(k,735)
         lu(k,761) = lu(k,761) - lu(k,663) * lu(k,760)
         lu(k,762) = lu(k,762) - lu(k,664) * lu(k,760)
         lu(k,763) = lu(k,763) - lu(k,665) * lu(k,760)
         lu(k,764) = lu(k,764) - lu(k,666) * lu(k,760)
         lu(k,685) = 1._r8 / lu(k,685)
         lu(k,686) = lu(k,686) * lu(k,685)
         lu(k,687) = lu(k,687) * lu(k,685)
         lu(k,688) = lu(k,688) * lu(k,685)
         lu(k,714) = lu(k,714) - lu(k,686) * lu(k,713)
         lu(k,715) = lu(k,715) - lu(k,687) * lu(k,713)
         lu(k,716) = lu(k,716) - lu(k,688) * lu(k,713)
         lu(k,737) = lu(k,737) - lu(k,686) * lu(k,736)
         lu(k,738) = lu(k,738) - lu(k,687) * lu(k,736)
         lu(k,739) = lu(k,739) - lu(k,688) * lu(k,736)
         lu(k,762) = lu(k,762) - lu(k,686) * lu(k,761)
         lu(k,763) = lu(k,763) - lu(k,687) * lu(k,761)
         lu(k,764) = lu(k,764) - lu(k,688) * lu(k,761)
         lu(k,714) = 1._r8 / lu(k,714)
         lu(k,715) = lu(k,715) * lu(k,714)
         lu(k,716) = lu(k,716) * lu(k,714)
         lu(k,738) = lu(k,738) - lu(k,715) * lu(k,737)
         lu(k,739) = lu(k,739) - lu(k,716) * lu(k,737)
         lu(k,763) = lu(k,763) - lu(k,715) * lu(k,762)
         lu(k,764) = lu(k,764) - lu(k,716) * lu(k,762)
         lu(k,738) = 1._r8 / lu(k,738)
         lu(k,739) = lu(k,739) * lu(k,738)
         lu(k,764) = lu(k,764) - lu(k,739) * lu(k,763)
         lu(k,764) = 1._r8 / lu(k,764)
      end do
      end subroutine lu_fac11
      subroutine lu_fac( avec_len, lu )
      use chem_mods, only : nzcnt
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... dummy args
!-----------------------------------------------------------------------
      integer, intent(in) :: avec_len
      real(r8), intent(inout) :: lu(veclen,nzcnt)
      call lu_fac01( avec_len, lu )
      call lu_fac02( avec_len, lu )
      call lu_fac03( avec_len, lu )
      call lu_fac04( avec_len, lu )
      call lu_fac05( avec_len, lu )
      call lu_fac06( avec_len, lu )
      call lu_fac07( avec_len, lu )
      call lu_fac08( avec_len, lu )
      call lu_fac09( avec_len, lu )
      call lu_fac10( avec_len, lu )
      call lu_fac11( avec_len, lu )
      end subroutine lu_fac
      end module mo_lu_factor
